一.配置内容
SqlMapConfig.xml中配置的内容和顺序如下:
1.properties(属性)
2.settings(全局配置参数)
3.typeAliases(类型别名)
4.typeHandlers(类型处理器)
5.objectFactory(对象工厂)
6.plugins(插件)
7.environments(环境集合属性对象)
- environment(环境子属性对象)
- transactionManager(事务管理)
- dataSource(数据源)
8.mappers(映射器)
二.常用属性的配置和运用
1.properties
将数据库连接的参数单独配置在,db.properties中,只需要在mybatis.xml中加载db.properties的属性值。这样在mybatis.xml中就不需要对数据库连接参数硬编码,方便对参数进行统一管理,其它xml可以引用该db.properties。
在resources/config目录下添加db.properties文件,工程结构如图所示
db.properties文件内添加如下配置
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/study
jdbc.username=root
jdbc.password=admin123
在全局配置文件中使用
<?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="config/db.properties"/>
<!-- 环境配置,和spring整合后environments配置将废除-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<!-- 1.配置数据源-->
<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>
</configuration>
注意:MyBatis 将按照下面的顺序来加载属性
在 properties 元素体内定义的属性首先被读取,然后会读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性,最后读取parameterType传递的属性,它会覆盖已读取的同名属性。因此,通过parameterType传递的属性具有最高优先级,resource或 url 加载的属性次之,最低优先级的是 properties 元素体内定义的属性。
2.自定义别名(批量定义)
在mybatis.xm文件中添加如下配置
<typeAliases>
<!-- 批量别名定义,扫描整个包下的类,别名为类名(首字母大写或小写都可以) -->
<package name="cn.itcast.mybatis.po"/>
<package name="其它包"/>
</typeAliases>
mybatis默认支持的别名
3.mappers(mapper扫描器)
在mybatis.xm文件中添加如下配置
<mappers>
<package name="mapper"/>
</mappers>
注意:此种方法要求mapper接口文件名称和sql映射文件名称相同,且放在同一个目录中。
三.settings(全局配置参数)
mybatis框架在运行时可以调整一些运行参数。比如:开启二级缓存、开启延迟加载。全局参数将会影响mybatis的运行行为。具体如下
四.typeHandlers(类型处理器)
mybatis中通过typeHandlers完成jdbc类型和java类型的转换。通常情况下,mybatis提供的类型处理器满足日常需要,不需要自定义。
mybatis支持的类型处理器