使用属性修改数据库配置

JavaBeginner
立即练习

介绍

在本项目中,你将学习如何使用属性来修改基于 MyBatis 的应用程序中的数据库配置。MyBatis 是一个流行的 Java 持久化框架,它简化了 Java 应用程序与数据库之间的交互。

👀 预览

-------------------------------------------------------
T E S T S
-------------------------------------------------------
运行 org.labex.test.MyBatisTest
数据删除成功
数据插入成功
[课程编号:1 课程名称:数据结构 教师:约翰·史密斯,课程编号:2 课程名称:Java 教师:玛丽·约翰逊,课程编号:3 课程名称:Python 教师:大卫·布朗,课程编号:4 课程名称:C++ 教师:詹妮弗·戴维斯,课程编号:6 课程名称:C 教师:迈克尔·威尔逊,课程编号:8 课程名称:人工智能 教师:艾米丽·汤普森]
数据更新成功
测试运行:4,失败:0,错误:0,跳过:0,耗时:2.1 秒

🎯 任务

在本项目中,你将学习:

  • 如何将数据库配置从 mybatis-config.xml 文件移动到 db.properties 文件。
  • 如何修改 mybatis-config.xml 文件以使用 db.properties 文件中定义的属性来配置数据库连接。
  • 如何通过运行提供的测试用例来验证应用程序的功能。

🏆 成果

完成本项目后,你将能够:

  • 将数据库配置与 MyBatis 配置文件分离。
  • 在基于 MyBatis 的应用程序中使用属性来配置数据库连接。
  • 在 MyBatis 配置文件中导入并使用属性值。
  • 通过运行测试用例来确保应用程序的功能。

将数据库配置移动到 db.properties 文件

在本步骤中,你将学习如何把数据库配置从 mybatis-config.xml 文件移动到 db.properties 文件。

  1. 打开位于 MyBatisPropertiesProject/src/main/resources 目录下的 db.properties 文件。
  2. db.properties 文件中添加以下属性:
## 数据库配置
## 数据库驱动类名
driver=com.mysql.cj.jdbc.Driver
## 数据库连接 URL
url=jdbc:mysql://localhost:3306/MyBatisDemo?characterEncoding=utf-8
## 数据库用户名
username=root
## 数据库密码
password=
## 映射器配置
## 包含 MyBatis 映射器接口的包
mapper.package=org.labex.mapper

这些属性定义了数据库驱动、连接 URL、用户名和密码,以及包含 MyBatis 映射器接口的包。

✨ 查看解决方案并练习

修改 mybatis-config.xml 文件以使用属性

在本步骤中,你将学习如何修改 mybatis-config.xml 文件,以使用 db.properties 文件中定义的属性。

  1. 打开位于 MyBatisPropertiesProject/src/main/resources 目录下的 mybatis-config.xml 文件。
  2. 在文件开头添加以下行,以从 db.properties 文件导入属性:
<properties resource="db.properties"/>
  1. <dataSource> 元素中更新数据库连接配置,以使用导入的属性:
<dataSource type="POOLED">
    <property name="driver" value="${driver}"/>
    <property name="url" value="${url}"/>
    <property name="username" value="${username}"/>
    <property name="password" value="${password}"/>
</dataSource>
  1. 更新 <mappers> 元素,以使用 mapper.package 属性:
<mappers>
    <package name="${mapper.package}"/>
</mappers>

完整的 mybatis-config.xml 文件现在应如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 从 db.properties 文件导入属性 -->
    <properties resource="db.properties"/>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <!-- 使用导入的属性配置数据库连接 -->
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>

    <!-- 注册 SQL 映射文件 -->
    <mappers>
        <package name="${mapper.package}"/>
    </mappers>
</configuration>

现在,数据库配置存储在 db.properties 文件中,并且 mybatis-config.xml 文件使用 db.properties 中定义的属性来配置数据库连接。

✨ 查看解决方案并练习

运行测试用例

要运行测试用例,请执行以下步骤:

  1. 在终端中,使用以下命令导航到 MyBatisPropertiesProject 项目目录:
cd ~/project/MyBatisPropertiesProject/
  1. 运行以下命令以执行测试用例:
mvn test

输出应类似于以下内容:

-------------------------------------------------------
T E S T S
-------------------------------------------------------
运行 org.labex.test.MyBatisTest
数据删除成功
数据插入成功
[课程编号:1 课程名称:数据结构 教师:约翰·史密斯,课程编号:2 课程名称:Java 教师:玛丽·约翰逊,课程编号:3 课程名称:Python 教师:大卫·布朗,课程编号:4 课程名称:C++ 教师:詹妮弗·戴维斯,课程编号:6 课程名称:C 教师:迈克尔·威尔逊,课程编号:8 课程名称:人工智能 教师:艾米丽·汤普森]
数据更新成功
测试运行:4,失败:0,错误:0,跳过:0,耗时:2.1 秒

这表明测试类使用 MyBatis 对名为 Course 的数据库表执行 CRUD 操作,包括查询、插入、更新和删除操作。

✨ 查看解决方案并练习

总结

恭喜你!你已完成本项目。你可以在 LabEx 中练习更多实验以提升技能。