Spring Boot 整合 MyBatis-Plus 的详细配置
MyBatis-Plus 是一个 MyBatis 的增强工具,它在 MyBatis 的基础上提供了很多方便的功能,极大提高了开发效率。本文将详细介绍如何在 Spring Boot 项目中整合 MyBatis-Plus,包括配置、使用以及一些常见的操作示例。
一、项目依赖
首先,在你的 Spring Boot 项目中,需要引入 MyBatis-Plus 的相关依赖。假设你使用 Maven 作为构建工具,你需要在 pom.xml
文件中添加如下依赖:
<dependencies>
<!-- Spring Boot Starter Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Boot Starter for MyBatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<!-- MyBatis-Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>
<!-- MySQL Driver -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
</dependencies>
二、配置数据源
接下来,在 application.yml
或 application.properties
中配置数据源信息。以下是一个 application.yml
的示例配置:
spring:
datasource:
url: jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
mapper-locations: classpath*:/mapper/*.xml
type-aliases-package: com.example.entity # 设置要扫描的实体类包
三、创建实体类和 Mapper 接口
然后,你需要创建一个实体类,比如 User
,以及对应的 Mapper 接口 UserMapper
。
User.java
package com.example.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("user") // 数据库表名
public class User {
@TableId // 主键
private Long id;
private String name;
private Integer age;
private String email;
}
UserMapper.java
package com.example.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.entity.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {
// 此处可以添加额外的自定义方法
}
四、使用 MyBatis-Plus 提供的功能
在你的 Service 层,可以直接使用 UserMapper
进行 CRUD 操作,MyBatis-Plus 已经为你提供了很多功能。
UserService.java
package com.example.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.entity.User;
public interface UserService extends IService<User> {
// 可以添加额外的服务方法
}
UserServiceImpl.java
package com.example.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.entity.User;
import com.example.mapper.UserMapper;
import com.example.service.UserService;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
// 可以在这里实现额外的方法
}
五、在 Controller 中使用
最后,可以在 Controller 中调用 Service 层的方法来实现具体的业务逻辑,例如添加用户、查询用户等。
UserController.java
package com.example.controller;
import com.example.entity.User;
import com.example.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@PostMapping
public boolean addUser(@RequestBody User user) {
return userService.save(user);
}
@GetMapping
public List<User> getAllUsers() {
return userService.list();
}
}
六、总结
通过上述步骤,我们成功地在 Spring Boot 项目中整合了 MyBatis-Plus。MyBatis-Plus 除了提供简单的 CRUD 接口外,还有分页、性能分析、代码生成等强大功能,可以帮助你更高效地进行开发。希望这篇文章能对你在使用 MyBatis-Plus 的过程中有所帮助。