一、mybatis-config配置说明
mybatis-config的configuration标签下的常用子标签说明
序号 | 标签名 | 说明 |
1 | properties |
引入外部配置文件,可以通过${}表达式引用 |
2 | settings | 设置Mybatis的全局配置属性,它能改变Mybatis运行时行为 |
3 | typeAliases |
别名定义,为java类定义简单的名字,在mapper.xml中使用 |
4 | typeHandlers |
类型转换处理器,定义jdbc类型和java类型转换的处理,一般不需要配置。 |
5 | objectFactory |
对象工厂,用于创建mapper接口方法中返回值是接口的实例对象。 |
6 | plugins |
插件,对Mybatis内部运行的方法进行拦截增强的类,一般只配置一个分页插件。 |
7 | environments |
环境配置,主要是配置数据源和事务 |
8 | mappers |
mapper.xml文件的配置 |
二、settings标签说明
Mybatis配置文件中configuration标签下的settings标签内容过于繁多,单独拿出来说明。
该标签主要是设置configuration中的属性配置,常见的属性配置如下表:
序号 | 属性名 | 说明 | 默认值 |
1 | cacheEnabled |
全局二级缓存是否开启,还需要在mapper.xml文件中单独添加缓存标签才有效 | true |
2 | lazyLoadingEnabled |
全局延迟加载是否开启,需要和aggressiveLazyLoading属性配合使用,需要使用延迟加载则设置为true | false |
3 | lazyLoadTriggerMethods |
延迟加载对象在调用哪些方法时触发加载 | equals,clone,hashCode,toString |
4 | aggressiveLazyLoading |
延迟加载的对象是否立马加载,需要使用延迟加载设置为false | true |
5 | useColumnLabel |
使用列标签替代列名 | true |
6 | mapUnderscoreToCamelCase |
是否开启驼峰命名规则 | false |
7 | autoMappingUnknownColumnBehavior |
当检测出未知列或未知属性时如何处理,可选NONE:不做任何处理,FAILING:映射失败抛出异常,WARNING:警告 | WARNING |
8 | defaultExecutorType |
默认的执行器,可选SIMPLE:简单执行器,REUSE:可复用Statement执行器,BATCH:批量处理执行器 | SIMPLE |
9 | defaultStatementTimeout |
设置超时时间,单位秒 | null |
10 | logImpl |
指定日志实现类,SLF4J、LOG4J、COMMONS_LOGGING、LOG4J2等 | null,不过会自动查找 |
11 | logPrefix |
Mybatis日志打印前缀,可以是任意字符串 | null |
三、mapper映射文件配置说明
序号 | 标签名 | 说明 |
1 | cache |
该命名空间开启二级缓存并设置缓存属性 |
2 | cache-ref |
对其它命名空间的缓存配置引用 |
3 | resultMap |
对象关系映射 |
4 | sql |
可被其它语句复用的sql语句块 |
5 | insert |
映射插入sql |
6 | update |
映射更新sql |
7 | delete |
映射删除sql |
8 | select |
映射查询sql |