这一章主要实验Mybatis的引入外部配置文件,属性(properties)这个属性都是可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递。
这是官方的。
来实践一下:
根据官方要求先创建一个db.properties外部文件
里面写配置属性:
driver=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&UseUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC username=root password=root
在到mybatis-config.xml文件里设置需要添加propertion标签来引入:
<?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"> <!--Mybatis核心配置类--> <configuration> <!--引入外部配置文件之后,driver的值都需要用${}来引用db.propertion文件里的id--> <properties resource="db.properties"/> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <!--数据库jdbc包--> <property name="driver" value="${driver}"/> <!--数据库的url地址,serverTimezone=UTC设置时区,UseUnicode=true&characterEncoding=UTF-8设置编码格式不然会乱码--> <property name="url" value="${url}"/> <!--数据库的账号--> <property name="username" value="${username}"/> <!--数据库的密码--> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <!--注册UserMapper文件!!!--> <mappers> <mapper resource="com/hdlf/dao/UserMapper.xml"/> </mappers> </configuration>
测试:
需要注意的是,Mybatis的引入外部配置文件要大于内部配置文件,
比如:
<properties resource="org/mybatis/example/config.properties"> <property name="username" value="dev_user"/> <property name="password" value="F2Fa3!33TYyg"/> </properties>
Mybatis还是会先读db.propertion外部配置文件。