MyBatis 的配置文件包含了影响 MyBatis
行为甚深的设置(
settings
)和
属性(
properties
)信息。文档的顶层结构如下
:
- configuration 配置
- properties 属性
- settings 设置 (重要)
- typeAliases 类型命名
- typeHandlers 类型处理器
- objectFactory 对象工厂
- plugins 插件
- environments 环境
- environment 环境变量
- transactionManager 事务管理器
- dataSource 数据源
- databaseIdProvider 数据库厂商标识
- mappers 映射器 (重要)
因为很多的配置标签都用不到,下面就讲讲日后开发常用的标签,包括properties、settings和mappers。
properties属性
dbconfig.properties:
•
如果
属性在不只一个地方进行了配置,那么
MyBatis
将按照下面的顺序来加载
:
–
在
properties
元素体内指定的属性首先被读取。
–
然后根据
properties
元素中的
resource
属性读取类路径下属性文件或根据
url
属性指定的路径读取属性文件,并覆盖已读取的同名属性
。
–
最后读取作为方法参数传递的属性,并覆盖已读取的同名属性。
settings设置
这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。 关注启动驼峰命名规则映射。
mappers映射器
•mappers逐个注册SQL映射文件
其中的class类型注册是通过注解的方式,把sql语句写在对应的接口方法上。其实这种做法不被推荐,因为这样就又回到以前JDBC的问题了,sql代码和java代码混杂在一起,难以维护,所以不推荐使用。
•或者使用批量注册:这种方式要求SQL映射文件名必须和接口名相同并且在同一目录下。
dataSource数据源配置
•
type
:
UNPOOLED | POOLED | JNDI |
自定义
–
UNPOOLED
:不使用连接
池,
UnpooledDataSourceFactory
–
POOLED
:使用连接池,
PooledDataSourceFactory
–
JNDI
: 在
EJB
或应用服务器这类容器中查找指定的数据源
–
自定义
:实现
DataSourceFactory
接口,定义数据源的获取方式。
•
实际开发中我们使用Spring管理数据源,并进行事务控制的配置来覆盖上述配置(重要)!!!