前言
SqlMapConfig.xml中配置的内容和顺序如下
- properties(属性)
- settings(全局配置参数)
- typeAliases(类型别名)
- typeHandlers(类型处理器)
- objectFactory(对象工厂)
- plugins(插件)
- environments(环境集合属性对象)
- environment(环境子属性对象)
- transactionManager(事务管理)
- dataSource(数据源)
- mappers(映射器)
properties(属性)
将数据库连接参数单独配置在db.properties中,只需要在SqlMapConfig.xml中加载db.properties的属性值。在SqlMapConfig.xml中就不需要对数据库连接参数硬编码。
settings(全局参数配置)
mybatis框架在运行时可以调整一些运行参数,比如:开启二级缓存、开启延迟加载…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <settings> <setting name="cacheEnabled" value="true"/> <setting name="lazyLoadingEnabled" value="true"/> <setting name="multipleResultSetsEnabled" value="true"/> <setting name="useColumnLabel" value="true"/> <setting name="useGeneratedKeys" value="false"/> <setting name="autoMappingBehavior" value="PARTIAL"/> <setting name="autoMappingUnknownColumnBehavior" value="WARNING"/> <setting name="defaultExecutorType" value="SIMPLE"/> <setting name="defaultStatementTimeout" value="25"/> <setting name="defaultFetchSize" value="100"/> <setting name="safeRowBoundsEnabled" value="false"/> <setting name="mapUnderscoreToCamelCase" value="false"/> <setting name="localCacheScope" value="SESSION"/> <setting name="jdbcTypeForNull" value="OTHER"/> <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/> </settings>
|
typeAliases(类型别名)
如果在指定类型时输入类型全路径,不方便进行开发,可以针对parameterType或resultType指定的类型定义一些别名,在mapper.xml中通过别名定义,方便开发。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <typeAliases>
<package name="com.iot.mybatis.po"/>
</typeAliases>
|
typeHandlers(类型处理器)
mybatis中通过typeHandlers完成jdbc类型和java类型的转换。例如:
1 2 3
| <select id="findUserById" parameterType="int" resultType="user"> select * from user where id = #{id} </select>
|
mybatis自带的类型处理器基本上满足日常需求,不需要单独定义。
mappers(映射配置)
通过resource加载单个映射文件
1 2
| <mapper resource="mapper/UserMapper.xml"/>12
|
通过mapper接口加载单个mapper
1 2 3 4 5
|
<mapper class="com.iot.mybatis.mapper.UserMapper"/>
|
批量加载mapper(推荐使用)
1 2 3 4 5 6
|
<package name="com.iot.mybatis.mapper"/>
|