mybatis-XML配置文件简介
简介
头文件
下面是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">
properties 属性配置
在properties下可以配置一些属性,可以动态替换,也可以直接在外部的.properties文件中配置。不过在不同地方配置同一属性时,它们有以下的优先级顺序。
- 在 properties 元素体内指定的属性首先被读取。
- 然后根据 properties 元素中的 resource 属性读取类路径下属性文件或根据 url 属性指定的路径读取属性文件,并覆盖已读取的同名属性。
- 最后读取作为方法参数传递的属性,并覆盖已读取的同名属性。
settings 设置
settings可以设置mybatis的运行时的一些行为。
typeAliases 类型别名
类型别名可以设计用户自定义类型或者Java内置类型的别名。
其中,java内置类型无需设置可以直接使用其类名作为别名。
<typeAliases>
<typeAlias alias="User" type="com.baidu.demo.model.User"/>
</typeAliases>
也可以通过设置指定包名来将包内的类型名作为该类的类型别名
<typeAliases>
<package name="com.baidu.demo.model" />
</typeAliases>
typeHandlers 类型处理器
可以重写或者创建一个类型处理器来将一些类映射到jdbc类型。
objectFactory 对象工厂
对象工厂用于创建对象的实例化。创建对象工厂可以覆盖默认的对象工厂。
plugins 插件
插件可以拦截mybatis的执行过程。
environments 环境配置
默认id为environment。默认id可以修改,但是需要有某个环境id与之相同。
该配置决定了mybatis连接的数据库类型。其下配置了id,事务管理器,数据库的数据源(驱动文件,url地址,用户名和密码)。
配置多个数据库相连接时,可以配置多个environment。id是决定不同environment的唯一标识符。
一个SqlSessionFactory对应一个environment。
databaseIdProvider 数据库厂商标识
mappers 映射器
在mappers下配置了映射文件的地址,从而定义sql映射语句。
下面是一个XML映射文件的示例。
<mapper resource="com/baidu/demo/mapper/UserMapper.xml" />
mappers有四种方法配置映射文件。注意!其中前两种用于配置xml映射文件,后两种用于配置映射器接口的实现类。
- 使用相对于类路径的资源引用
<mappers>
<mapper resource="com/baidu/demo/mapper/UserMapper.xml" />
</mappers>
- 使用完全限定资源定位符(URL)
<mappers>
<mapper url="file:///var/mappers/UserMapper.xml"/>
</mappers>
- 使用映射器接口实现类的完全限定类名
<mappers>
<mapper class="com.baidu.demo.mapper.UserMapper"/>
</mappers>
- 将包内的映射器接口实现全部注册为映射器
<mappers>
<package name="com.baidu.demo.mapper"/>
</mappers>