MyBatis 配置属性
本文仅记录部分常用配置属性,更多详情请见MyBatis中文文档
Environment
properties
将项目修改成可由外部properties文件动态配置的项目:
核心配置文件中的标签必须遵守规定好的先后次序:
properties / settings / typeAliases / typeHandlers / objectFactory / objectWrapperFactory / reflectorFactory /plugins/enviroment / databaseIdProvider / mappers
未遵守以上顺序编写 将会报错
也可以在properties标签中增加属性配置。同名时,优先使用外部配置文件中的变量。
注意点:配置文件中的& 不需要转义
TypeAlias 类型别名
方法一:给一个类取一个固定的别名
方法二:在配置文件中指定一个包搜索,在Java代码中使用@Alias(“别名”)
可以使用别名 写在parameterType resultType等地方。
Settings 设置
重点掌握:
cacheEnabled 是否开启缓存
lazyLoadingEnabled 是否开启懒加载
mapUnderscoreTocamelCase 是否开启驼峰命名转换
logImpl 日志实现
以前,oracle的数据库会将名称自动转换为全大写,无法识别,所以数据库才用下划线分割,而Java代码一般使用驼峰命名法。所以需要mapUnderscoreTocamelCase
mapper 映射
<!-- 使用相对于类路径的资源引用 -->
<mappers>
<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
<mapper resource="org/mybatis/builder/BlogMapper.xml"/>
<mapper resource="org/mybatis/builder/PostMapper.xml"/>
</mappers>
<!-- 使用完全限定资源定位符(URL) -->
<mappers>
<mapper url="file:///var/mappers/AuthorMapper.xml"/>
<mapper url="file:///var/mappers/BlogMapper.xml"/>
<mapper url="file:///var/mappers/PostMapper.xml"/>
</mappers>
<!-- 使用映射器接口实现类的完全限定类名 -->
<mappers>
<mapper class="org.mybatis.builder.AuthorMapper"/>
<mapper class="org.mybatis.builder.BlogMapper"/>
<mapper class="org.mybatis.builder.PostMapper"/>
</mappers>
<!-- 将包内的映射器接口全部注册为映射器 -->
<mappers>
<package name="org.mybatis.builder"/>
</mappers>
这些配置会告诉 MyBatis 去哪里找映射文件,剩下的细节就应该是每个 SQL 映射文件了
重点掌握resource 和 class 方法