MyBatis的全局配置文件mybatis-config.xml,配置内容如下:
- properties(属性)
- settings(全局配置参数)
- typeAliases(类型别名)
- typeHandlers(类型处理器)
- objectFactory(对象工厂)
- plugins(插件)
- environments(环境集合属性对象)
- environment(环境子属性对象)
- transactionManager(事务管理)
- dataSource(数据源)
1、properties属性
将数据库连接参数单独配置在db.properties中,只需要在mybatis-config.xml中加载db.properties的属性值。在mybatis-config.xml中就不需要对数据库连接参数硬编码。
<properties resource="db.properties"/>
在环境中:
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.mysql.driver}"/>
<property name="url" value="${jdbc.mysql.url}"/>
<property name="username" value="${jdbc.mysql.username}"/>
<property name="password" value="${jdbc.mysql.password}"/>
</dataSource>
</environment>
</environments>
2、settings全局配置参数
开启下划线与驼峰命名的转换:
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
3、typeAliases类型别名
单个类型的别名配置:typeAlias
- type:类型,java中类的全限定名。
- alias:别名。
<typeAliases>
<typeAlias type="com.myh.entity.Dept" alias="dd"/>
</typeAliases>
批量类型别名的配置:package
- name:需要配置别名的类所在的包。
- 设置包名之后,此包下所有的类都拥有类型别名,其别名为:该类的类名,首字母大小均可。
<typeAliases>
<package name="com.myh.entity"/>
</typeAliases>
注解定义别名:
@Alias("depart")
public class Dept {
//...
}
4、mappers映射器
单个加载映射文件:mapper
- resource: 从classpath下加载mapper文件。
<mappers>
<!--
<mapper>单个加载映射文件;
resource:通过相对路径加载文件(项目源目录下的文件);
url:通过绝对路径加载文件(文件系统中文件);
-->
<mapper resource="mapper/DeptMapper.xml"/>
<mapper resource="mapper/EmpMapper.xml"/>
</mappers>
- class: 配置dao接口的全限定名,通过Java中的dao接口的名称加载mapper.xml文件。
<mappers>
<!--
<mapper>单个加载映射文件
class:配置mapper接口的全限定名,通过Java中的Mapper接口来加载映射文件
-->
<mapper class="com.myh.mapper.DeptMapper"/>
<mapper class="com.myh.mapper.EmpMapper"/>
</mappers>
批量加载映射文件: packge
- name:dao接口与mapper文件存放的共同的目录名称。
<mappers>
<!--
<package>批量加载映射文件
name:存放Mapper接口与mapper.xml文件的包名
-->
<package name="com.myh.mapper"/>
</mappers>