单独配置 .properties
datasource.properties的配置:
这个文件中只配置数据库连接,方便后期对参数进行统一的管理,不配置这个文件直接写在 SqlMapConfig.xml文件中也可以,但这样会显得很没有水平。配置之后,其他xml文件直接引用这个配置文件就可以了。
我的具体内容:
driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/gezhib?useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=admin
引用方法:
<!-- 加载数据库文件datasource.properties -->
<properties resource="datasource.properties">
<!-- properties中还可以配置一些属性名和属性值,此处的优先加载 -->
<!-- <property name="driver" value=""/> -->
</properties>
<settings>
<!-- 打印查询语句 -->
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
<!-- 和spring整合后 environments配置将废除-->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理,事务控制由mybatis管理-->
<transactionManager type="JDBC" />
<!-- 数据库连接池,由mybatis管理-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
在properties元素体内定义的属性优先读取。
然后读取properties元素中resource或url加载的属性,它会覆盖已读取的同名属性。
最后读取parameterType传递的属性,它会覆盖已读取的同名属性
SqlMapConfig.xml的配置
我的SqlMapConfig.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>
<properties resource="datasource.properties"></properties>
<settings>
<!-- 打印查询语句 -->
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
<typeAliases>
<!-- <typeAlias type="com.gezhi.pojo.User" alias="User"/> -->
<package name="com.gezhi.pojo.User"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/gezhi/mapper/UserMapper.xml" />
</mappers>
</configuration>
配置内容的属性含义及顺序
-
properties(属性)
-
settings(全局配置参数)
-
typeAiases(类型别名)
-
typeHandlers(类型处理器)
-
objectFactory(对象工厂)
-
plugins(插件)
-
environments(环境集合属性对象)
1、environment(环境子属性对象)
2、transactionManager(事物管理)
3、 datesource(数据源 -
mappers(映射器)