<?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核心配置文件-->
<configuration>
<!-- 引入外部配置文件 -->
<properties resource="db.properties"/>
<typeAliases>
<typeAlias type="cn.edu.hbue.wmp.entity.User" alias="User"></typeAlias>
</typeAliases>
<!-- 环境配置 -->
<environments default="development">
<!-- 环境变量 -->
<environment id="development">
<!-- 事务管理器 -->
<transactionManager type="JDBC"/>
<!-- 数据源 -->
<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>
<mappers>
<mapper resource="cn/edu/hbue/wmp/dao/UserMapper.xml"/>
</mappers>
</configuration>
环境配置(environments)
MyBatis 可以配置成适应多种环境,上面文件中defualt默认为evelopment,每个 SqlSessionFactory 实例只能选择一种环境
Mybatis默认的事务管理器就是 JDBC , 连接池 : POOLED
<!-- 事务管理器 -->
<transactionManager type="JDBC"/>
<!-- 数据源 -->
<dataSource type="POOLED">
属性(properties)
我们可以通过properties属性来实现引用配置文件
这些属性都是可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递。【db.properties】
<!-- 引入外部配置文件 -->
<properties resource="db.properties"/>
类型别名(typeAliases)
可以给实体类起别名
<typeAliases>
<typeAlias type="cn.edu.hbue.wmp.entity.User" alias="User"></typeAlias>
</typeAliases>
可以给包起别名
扫描实体类的包,它的默认别名就为这个类的 类名,首字母小写!
如果实体类十分多,建议使用第二种。
<typeAliases>
<package name="cn.edu.hbue.wmp.entity"/>
</typeAliases>
设置
可以加日志
映射器(mappers)
MapperRegistry:注册绑定我们的Mapper文件;
方式一: 【推荐使用】
<!--每一个Mapper.XML都需要在Mybatis核心配置文件中注册!-->
<mappers>
<mapper resource="cn/edu/hbue/wmp/dao/UserMapper.xml"/>
</mappers>
方式二:使用class文件绑定注册
<!--每一个Mapper.XML都需要在Mybatis核心配置文件中注册!-->
<mappers>
<mapper class="cn.edu.hbue.wmp.UserMapper"/>
</mappers>
注意点:
- 接口和他的Mapper配置文件必须同名!
- 接口和他的Mapper配置文件必须在同一个包下!
方式三:使用扫描包进行注入绑定
<!--每一个Mapper.XML都需要在Mybatis核心配置文件中注册!-->
<mappers>
<package name="cn.edu.hbue.wmp"/>
</mappers>
注意点:
- 接口和他的Mapper配置文件必须同名!
- 接口和他的Mapper配置文件必须在同一个包下!
configuration(配置)
properties(属性)
settings(设置)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境配置)
environment(环境变量)
transactionManager(事务管理器)
dataSource(数据源)
databaseIdProvider(数据库厂商标识)
mappers(映射器)