1.简介
MyBatis的配置十分重要,它直接左右MyBatis的行为。MyBatis配置分为两大部分,第一部分是Mapper,也就是容纳SQL语句的xml文件,另一部分是configuration ,也就是前面小节使用的mybatis.xml文件。mybatis.xml文件以configuration作为配置的根节点,在configuration下有诸多配置项,它们的结构如下。
- properties(属性)
- environments(环境集合属性对象)
- environment(环境子属性对象)
- transactionManager(事务管理)
- dataSource(数据源)
- environment(环境子属性对象)
- mappers(映射器)
- typeAliases(类型别名)
- settings(全局配置参数)
- typeHandlers(类型处理器)
- objectFactory(对象工厂)
- plugins(插件)
2.properties
(1).简介
通过properties配置,可以将一些重要的配置属性抽离出来,比如,dataSource中的数据库url、username、password,可以单独以db.properties文件来存储,然后在mybatis.xml 文件中导入使用。
(2).db.properties
在项目目录“/src/main/resources/config”目录下新建db.properties文件,具体代码如下。
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/study?useSSL=false
username=root
password=admin123
(3).mybatis.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>
<!-- 引入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="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
</configuration>
3.mappers
通过mappers配置,可以指定对应的SQL映射文件,mappers可以包含多个SQL映射文件,mapper的加载共有4种方式,下面以相对类路径加载举例。
<?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>
<!-- 2.在全局配置文件中加载SQL映射文件 -->
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
4.typeAliases
MyBatis在指定Java类时需要使用到类的全路径,如 com.steven.po.User,typeAliases可以为全路径定义一个别名,这样就能减少一定的重复工作。例如,将com.steven.po.User的别名定义为User。
<?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>
<!-- 配置别名 -->
<typeAliases>
<!-- 批量扫描别名 -->
<package name="com.steven"/>
</typeAliases>
</configuration>