一、properties
将数据库连接参数单独配置在db.properties中,只需要在SqlMapConfig.xml文件中调用即可。
在SqlMapConfig.xml中就不需要对数据库连接参数进行硬编码。
方便对参数进行统一管理,其他xml文件也可以引用该db.properties.xml文件。
- jdbc.properties:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db_mybatis02?characterEncoding=utf-8
jdbc.userName=root
jdbc.password=246626
- 在SqlMapConfig.xml中引用
<!-- 引用jdbc.properties -->
<properties resource="jdbc.properties"/>
<!-- 和spring整合后 environments将被废除 -->
<environments default="development">
<environment id="development">
<!-- 事务管理 -->
<transactionManager type="JDBC"/>
<!-- 数据库连接池 -->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.userName}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
- 注意:mybatis将按照下面的顺序来加载属性
a) 在properties元素体内定义的属性首先被读取
b) 然后会读取properties元素中resource或url加载的属性,它会覆盖已经读取的同名属性。
c) 最后读取parameterType传递的属性,他会覆盖已读取的同名属性。
因此,通过parameterType传递的属性具有最高的优先级,resource或url加载的属性次之。最低优先级的是properties元素体内定义的属性。
建议:
不要在properties元素体内添加任何属性值,只将属性值定义在properties文件中。而且在properties文件中定义属性名要有一定的特殊性。如:xx.xx.xxx
二、settings配置
Mybatis全局配置参数。全局配置参数会影响mybatis的运行行为。
三、typeAliases(别名)
针对parameterType和resultType指定的类型定义一些别名。简化开发。
- 默认的别名
- 自定义别名
1)单个别名定义
2)批量别名定义(常用)指定包名,mybatis自动扫描包中的po类,自动定义别名,别名就是类名(首字母大写小写均可)。
<!-- 别名定义 -->
<typeAliases>
<!-- 单个别名定义 -->
<!-- <typeAlias type="com.kjgym.po.User" alias="user"/> -->
<!-- 批量别名定义 mybatis自动扫描包中的po类,自动定义别名,别名就是类名(首字母大写小写均可)。
常用 -->
<package name="com.kjgym.po"/>
</typeAliases>
四、 typeHandlers(类型处理器)
Mybatis自带的类型处理器基本满足日常开发需要,不需要单独定义。
六、objectFactory(对象工厂)
七、plugins(插件)
八、environments(环境集合属性对象)
Environment(环境子属性对象)
transationManager(事务管理)
dataSource(数据源)