spring boot 集成 mybatis 的核心是引入 mybatis-spring-boot-starter 实现自动配置,需添加该依赖及 mysql 驱动,配置数据源和 mybatis.mapper-locations 等属性,通过 mapper 接口与 xml(或注解)绑定 sql,service 中直接注入使用,并支持 @transactional 事务和 pagehelper 分页。

在 Spring Boot 中集成 MyBatis 是非常常见的数据库访问方案,核心是通过 MyBatis-Spring-Boot-Starter 实现自动配置,省去大量 XML 配置和手动注册 Bean 的步骤。
添加依赖
在 pom.xml 中引入 MyBatis Starter 和对应数据库驱动(以 MySQL 为例):
-
mybatis-spring-boot-starter(提供自动配置) -
mysql-connector-j(或mysql-connector-java,新版推荐前者) - 如果使用 Druid 连接池,可额外加
druid-spring-boot-starter
配置数据源和 MyBatis
在 application.yml(或 application.properties)中设置:
- 数据库连接信息:url、username、password、driver-class-name
-
MyBatis 核心配置(可选):
–mybatis.mapper-locations:指定 Mapper XML 文件路径,如classpath:mapper/*.xml
–mybatis.type-aliases-package:指定实体类包路径,避免写全限定名
– 开启驼峰映射:mybatis.configuration.map-underscore-to-camel-case=true
编写 Mapper 接口与 XML(或注解方式)
推荐「接口 + XML」方式,兼顾灵活性与可读性:
- 定义接口(如
UserMapper.java),用@Mapper注解或在启动类加@MapperScan扫描包 - 创建同名 XML 文件(如
UserMapper.xml),放在resources/mapper/下,namespace 为接口全路径 - SQL 写在 XML 中,支持
<select></select>、<insert></insert>等标签,参数用#{id}绑定 - 也可纯用注解(如
@Select("SELECT * FROM user")),但复杂 SQL 或动态条件建议用 XML
在 Service 中注入并使用
直接 @Autowired 注入 Mapper 接口即可调用方法,Spring Boot 会自动代理实现:
- Mapper 方法返回值支持
List<user></user>、User、int(影响行数)等 - 事务由
@Transactional控制,通常加在 Service 方法上 - 若需分页,可集成
PageHelper(配合pagehelper-spring-boot-starter)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











