Spring Boot 中使用 MyBatis-Spring-Boot-Starter
本文将使用 MyBatis-Spring-Boot-Starter 在Spring Boot中建立 Mybatis 应用。
本文将实现:
- 构建一个独立应用
- 将JDBC模板代码减少到最小值(接近0)
- 更少的XML配置
版本要求
MyBatis-Spring-Boot-Starter | MyBatis-Spring | Spring Boot | Java |
---|---|---|---|
2.2 | 2.0(2.0.6以上解锁所有功能) | 2.5或以上 | 8或以上 |
2.1 | 2.0(2.0.6以上解锁所有功能) | 2.1-2.4 | 8或以上 |
安装
使用 MyBatis-Spring-Boot-Starter 模组,需要将 mybatis-spring-boot-autoconfigure.jar
文件以及它的依赖(mybatis.jar
,mybatis-spring.jar
等)添加到classpath中。
Maven
使用Maven构建时,将下述配置添加到 pom.xml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.1</version>
</dependency>
Gradle
使用Gradle构建时,将下述配置添加到 build.gradle
dependencies {
compile("org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.1")
}
快速部署
在Spring上使用MyBatis,至少需要一个 SqlSessionFactory
以及至少一个 mapper 接口
MyBatis-Spring-Boot-Starter可以:
- 自动检测一个现存的
DataSource
- 创建并注册一个
SqlSessionFactory
并将现存的DataSource
作为SqlSessionFactoryBean
输入 - 创建并注册一个从
SqlSessionFactory
得到的SqlSessionTemplate
实例 - 自动扫描你的映射器(Mapper),将它们链接到
SqlSessionTemplate
,并将它们注册到Spring上下文中,这样它们就可以被注入到你的Bean中。
假设我们有以下的映射器:
@Mapper
public interface CityMapper {