在MyBatis中,configuration.xml
是MyBatis的核心配置文件,它包含了MyBatis的全局配置信息,如数据源配置、事务管理器配置、别名配置、映射文件配置等。尽管在Spring Boot项目中,MyBatis的配置可以大部分通过属性配置在application.properties
或application.yml
文件中,或者通过Java配置类来完成,但传统的MyBatis项目仍然会使用configuration.xml
作为主要的配置文件。
以下是一个configuration.xml
的示例:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!-- 配置数据源,交给Spring管理 --><!-- 在Spring Boot项目中,通常不会在这里配置数据源 --><!-- 事务管理器配置 --><!-- 在Spring Boot项目中,通常也不会在这里配置事务管理器 --><!-- 别名配置 --><typeAliases><package name="com.example.model"/></typeAliases><!-- 设置 --><settings><!-- 开启延迟加载(懒加载) --><setting name="lazyLoadingEnabled" value="true"/><!-- 允许在已关闭的SqlSession中执行延迟加载 --><setting name="aggressiveLazyLoading" value="false"/><!-- 其他设置... --></settings><!-- 类型处理器配置 --><!-- 通常不需要显式配置,MyBatis会默认注册一些类型处理器 --><!-- 插件配置 --><!-- 可以配置MyBatis的插件,如PageHelper分页插件 --><!-- 环境配置(数据源、事务管理器) --><!-- 在Spring Boot项目中,通常不会在这里配置环境 --><!-- 映射文件配置 --><mappers><!-- 使用XML文件方式 --><mapper resource="com/example/mapper/UserMapper.xml"/><!-- 或者使用接口方式(需要Mapper接口和XML文件同名同包) --><mapper class="com.example.mapper.UserMapper"/><!-- 还可以使用包扫描方式 --><package name="com.example.mapper"/></mappers></configuration>
在上面的示例中,我们配置了别名包、一些全局设置以及映射文件的位置。
<typeAliases>
标签用于定义别名,这样在映射文件中就可以使用别名代替全类名。<settings>
标签用于配置MyBatis的全局设置,如是否开启延迟加载等。<mappers>
标签用于配置映射文件的位置,可以是XML文件的位置,也可以是Mapper接口的位置(如果使用了注解方式)。
在Spring Boot项目中,由于Spring Boot的自动配置特性,大部分MyBatis的配置都可以通过属性文件或者Java配置类来完成,从而避免手动编写configuration.xml
文件。但如果你喜欢使用XML配置,或者有一些特殊的配置需求,你仍然可以在Spring Boot项目中包含configuration.xml
文件,并通过@MapperScan
注解指定Mapper接口的位置。