MyBatis核心配置文件详解
本文最后更新于:1 年前
mybatis-config.xml 是 MyBatis 框架的主配置文件,主要用于配置MyBatis数据源及属性信息。
核心配置文件层级关系
注意:以上标签必须按顺序从上往下书写。
常用配置解析
Properties标签
实际开发中,习惯将数据源的配置信息单独抽取成一个 properties 文件,该标签可以加载额外配置的 properties 文件:
将数据源的配置信息单独抽取到 jdbc.properties 文件中:
jdbc.properties 在 mybatis-config.xml 中通过
properties
标签引用入jdbc.properties
文件后,在配置 environment 时可以直接使用 jdbc.properties 中的 key 获取对应的 value,作为数据源的连接信息:mybatis-config.xml
settings标签
settings标签用于设置 mybatis 的属性。
1 |
|
typeAliases标签
typeAliases标签用于给实体类取别名,在映射文件中可以直接使用别名来替代实体类的全限定名。
在 sqlMapConfig.xml 中配置 typeAliases,为cc.gaojie.domain.User定义别名为user:
在 userMapper.xml 中使用上面自定义的类型别名替换全限定名:
上面我们是自定义的别名,mybatis 框架已经为我们设置好的一些常用的类型的别名:
plugins标签
plugins标签,用于配置 MyBatis 插件,如分页插件。
1 |
|
environments标签
environments标签用于配置数据库连接信息,支持多环境配置。
1 |
|
transactionManager
事务管理器(transactionManager)类型有两种:
JDBC
这个配置就是直接使用了JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域。
MANAGED
这个配置几乎没做什么。它从来不提交或回滚一个连接,而是让容器来管理事务的整个生命周期(比如JEE应用服务器的上下文)。 默认情况下它会关闭连接,然而一些容器并不希望这样,因此需要将 closeConnection 属性设置为 false 来阻止它默认的关闭行为。
dataSource
数据源(dataSource)类型有三种:
UNPOOLED:这个数据源的实现只是每次被请求时打开和关闭连接。
POOLED:这种数据源的实现利用 “池” 的概念将 JDBC 连接对象组织起来。
JNDI:这个数据源的实现是为了能在如 EJB 或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个 JNDI 上下文的引用。
mapper标签
mapper标签用于加载映射配置(映射文件、DAO注解)。
该标签用于加载映射文件时,加载方式有如下几种:
- 使用相对于类路径的资源引用(相对路径),例如:
<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
- 使用完全限定资源定位符(URL),例如:
<mapper url="file:///var/mappers/AuthorMapper.xml"/>
- 使用映射器接口实现类的完全限定类名,例如:
<mapper class="org.mybatis.builder.AuthorMapper"/>
- 将包内的映射器接口实现全部注册为映射器,例如:
<package name="org.mybatis.builder"/>
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!