如何使用java springboot 整合mybatis/mybatis-plus
时间: 2023-07-02 12:21:06 浏览: 101
Java Spring Boot 是一个快速开发框架,MyBatis 和 MyBatis-Plus 是两个流行的 ORM 框架,Spring Boot 与 MyBatis/MyBatis-Plus 的整合可以帮助我们更快更方便地进行开发。
下面是使用Java Spring Boot整合MyBatis/MyBatis-Plus的步骤:
1. 在 pom.xml 文件中添加 MyBatis/MyBatis-Plus 和 MySQL 驱动的依赖:
```xml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
```
2. 在 application.properties/application.yml 文件中配置数据源和 MyBatis/MyBatis-Plus 的配置信息:
```yaml
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.type-aliases-package=com.example.demo.entity
mybatis-plus.mapper-locations=classpath:/mapper/*.xml
```
3. 在 Spring Boot 启动类上添加 `@MapperScan` 注解,指定 MyBatis/MyBatis-Plus 的 Mapper 所在的包:
```java
@SpringBootApplication
@MapperScan("com.example.demo.mapper")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
```
4. 创建实体类和 Mapper 接口:
```java
public class User {
private Long id;
private String name;
private Integer age;
// 省略 getter 和 setter 方法
}
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
```
5. 创建 Mapper 的 XML 文件(如果使用 MyBatis-Plus 可以省略此步骤):
```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.demo.mapper.UserMapper">
<resultMap id="BaseResultMap" type="com.example.demo.entity.User">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="age" property="age" />
</resultMap>
<select id="selectById" resultMap="BaseResultMap">
select * from user where id = #{id}
</select>
</mapper>
```
6. 在 Service 中使用 Mapper:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User getUserById(Long id) {
return userMapper.selectById(id);
}
}
```
这样就完成了 Java Spring Boot 整合 MyBatis/MyBatis-Plus 的基本步骤。需要注意的是,在使用 MyBatis-Plus 的情况下,Mapper 接口无需自己编写 CRUD 操作的方法,直接继承 `BaseMapper` 接口即可。