Spring Boot与MyBatis的集成非常简单,主要步骤如下:
步骤1: 添加依赖
首先,在你的pom.xml
文件中(如果你使用的是Maven)添加Spring Boot Starter for MyBatis的依赖和数据库驱动的依赖。以MySQL数据库为例:
<dependencies>
<!-- Spring Boot MyBatis Starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version> <!-- 请使用MyBatis官方文档推荐的当前合适版本 -->
</dependency>
<!-- MySQL JDBC 驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
<!-- 其他必要依赖:Spring Boot Web Starter, Spring Boot Test等 -->
</dependencies>
步骤2: 配置application.properties或application.yml
在application.properties
或application.yml
中配置数据库连接和MyBatis设置:
# DataSource配置
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# MyBatis配置
mybatis.type-aliases-package=com.example.mapping
mybatis.mapper-locations=classpath:mapper/*.xml
或者application.yml
:
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC
username: root
password: password
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
type-aliases-package: com.example.mapping
mapper-locations: classpath:mapper/*.xml
步骤3: 创建实体类
创建实体类与数据库表对应:
package com.example.mapping;
public class User {
private Long id;
private String name;
private String email;
// ... getters and setters ...
}
步骤4: 创建Mapper接口及XML映射文件
创建MyBatis的Mapper接口,以及相应的XML映射文件,定义SQL操作:
package com.example.mapping;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface UserMapper {
@Select("SELECT * FROM users WHERE id = #{id}")
User findById(Long id);
// 其他映射方法...
}
在src/main/resources/mapper
目录下创建XML映射文件UserMapper.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapping.UserMapper">
<select id="findAll" resultType="com.example.mapping.User">
SELECT * FROM users
</select>
</mapper>
步骤5: 使用Mapper
在你的Service类中注入Mapper接口并使用,例如:
package com.example.service;
import com.example.mapping.User;
import com.example.mapping.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User findUserById(Long id) {
return userMapper.findById(id);
}
// 其他业务逻辑...
}
步骤6: 运行应用程序
按照常规Spring Boot应用程序的方式来运行你的应用程序。如果一切配置正确,MyBatis将与Spring Boot无缝集成,你可以在你的服务和控制器中使用MyBatis Mapper接口了。
以上是将MyBatis整合到Spring Boot应用程序中的基本步骤。此外,你也可以根据需要配置更多MyBatis的高级特性,如动态SQL、插件和拦截器等。