03SqlMapConfig.xml配置文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了03SqlMapConfig.xml配置文件相关的知识,希望对你有一定的参考价值。
MyBatis的全局配置文件SqlMapConfig.xml,在此文件中配置加载属性文件、数据源、事务、全局参数、别名以及mapper等,其内容如下:
1、properties
<properties>用来加载properties属性文件,jdbc.properties文件内容如下所示:
1 jdbc.driver=com.mysql.jdbc.Driver 2 jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8&useSSL=true 3 jdbc.username=root 4 jdbc.password=root123
SqlMapConfig.xml文件加载jdbc.properties文件的方式如下所示:
1 <properties resource="jdbc.properties"></properties>
之后就可以通过${key}方式来获取值来使用。
2、<settings>配置
MyBatis框架在运行时可以调整一些运行参数,比如:开启二级缓存、开启延迟加载,全局参数将会影响mybatis的运行行为,具体配置信息可以查看参考手册,完整的<settings>配置如下所示:
1 <settings> 2 <setting name="cacheEnabled" value="true"/> 3 <setting name="lazyLoadingEnabled" value="true"/> 4 <setting name="multipleResultSetsEnabled" value="true"/> 5 <setting name="useColumnLabel" value="true"/> 6 <setting name="useGeneratedKeys" value="false"/> 7 <setting name="autoMappingBehavior" value="PARTIAL"/> 8 <setting name="defaultExecutorType" value="SIMPLE"/> 9 <setting name="defaultStatementTimeout" value="25"/> 10 <setting name="safeRowBoundsEnabled" value="false"/> 11 <setting name="mapUnderscoreToCamelCase" value="false"/> 12 <setting name="localCacheScope" value="SESSION"/> 13 <setting name="jdbcTypeForNull" value="OTHER"/> 14 <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/> 15 </settings>
3、<typeAliases>类型命名
在mapper.xml中,定义很多的statement,statement需要parameterType指定输入参数的类型、需要resultType指定输出结果的映射类型。如果在指定类型时输入类型全路径,不方便进行开发,可以针对parameterType或resultType指定的类型定义一些别名,在mapper.xml中通过别名定义,方便开发。
3.1 MyBatis默认支持别名
MyBatis默认支持的别名如下图所示:
3.2 自定义别名
MyBatis不仅有默认支持的别名,还可以自定义别名。
3.2.1 单个别名定义
- 定义别名:
1 <typeAliases> 2 <typeAlias type="com.sunny.domain.User" alias="user"/> 3 </typeAliases>
- 引用别名:可以在下面的resultType中直接引用自定义的别名
1 <select id="findUserById" parameterType="int" resultType="user"> 2 SELECT * FROM user WHERE id=#{id} 3 </select>
3.2.2 批量定义别名
- 定义别名时需要指定包名,MyBatis自动扫描包中的po类,自动定义别名,别名就是类名(首字母大写或小写都可以),引用方式和上面一样:
1 <typeAliases> 2 <package name="com.sunny.domain"/> 3 </typeAliases>
4、<mappers>映射器
4.1 通过resource加载单个映射文件
通过resource加载映射文件的方式如下所示(mappers下可以包含多个mapper):
1 <mappers> 2 <mapper resource="com/sunny/domain/UserMapper.xml"/> 3 </mappers>
4.2 通过class加载mapper接口
通过class加载mapper接口的方式如下所示(mappers下可以包含多个mapper):
1 <mappers> 2 <mapper class="com.sunny.mapper.UserMapper"/> 3 </mappers>
通过class加载mapper接口的方式遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录中。
4.3 批量加载mapper
可以通过package来批量加载mapper:
1 <mappers> 2 <package name="com.sunny.mapper"/> 3 </mappers>
批量加载mapper需要指定mapper接口的包名,MyBatis自动扫描包下边所有mapper接口进行加载,而且需要遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录中。
以上是关于03SqlMapConfig.xml配置文件的主要内容,如果未能解决你的问题,请参考以下文章