创作背景:
今天在写作业的时候吧,因为之前上课有些拖拉,导致有些东西没学好没用到,所以今天就一直在边写项目边去了解,一下就是我对于我落下的一个知识点的用法总结
引入依赖
在 pom.xml
文件中加入 MyBatis Plus 的依赖:
1<dependency>
2 <groupId>com.baomidou</groupId>
3 <artifactId>mybatis-plus-boot-starter</artifactId>
4 <version>3.5.3</version>
5</dependency>
创建实体类
接下来,我们需要定义一个实体类来映射数据库中的表
1public class User {
2 private Long id;
3 private String username;
4 private String password;
5 // 其他字段...
6 // Getter 和 Setter 方法
7}
配置 Mapper 接口
使用 MyBatis Plus 时,我们只需要继承 BaseMapper<T>
接口即可获得许多常用的数据操作方法:
1public interface UserMapper extends BaseMapper<User> {
2 // 可以在这里添加自定义的 SQL 查询方法
3}
实现 Service 层
为了更好地组织代码,我们可以在 Service 层封装具体的业务逻辑。首先定义 Service 接口:
1public interface UserService {
2 boolean addUser(User user);
3 List<User> getAllUsers();
4}
然后实现 Service 接口:
1@Service
2public class UserServiceImpl implements UserService {
3
4 @Resource
5 private UserMapper userMapper;
6
7 @Override
8 public boolean addUser(User user) {
9 return userMapper.insert(user) > 0;
10 }
11
12 @Override
13 public List<User> getAllUsers() {
14 return userMapper.selectList(null); // 查询所有记录
15 }
16}
设计控制器类
最后,在控制器类中定义处理 HTTP 请求的方法,并调用 Service 层的方法来完成业务逻辑。
1package com.xj.controller;
2
3import com.xj.pojo.User;
4import com.xj.service.UserService;
5import com.xj.vo.ResponseData;
6import jakarta.annotation.Resource;
7import org.springframework.web.bind.annotation.*;
8
9import java.util.List;
10
11@RestController
12@RequestMapping("/user")
13public class UserController {
14
15 @Resource
16 private UserService userService;
17
18 @PostMapping("/add") // 添加新用户
19 public ResponseData addUser(@RequestBody User user) {
20 boolean result = userService.addUser(user);
21 ResponseData response = new ResponseData<>();
22 if (result) {
23 response.setCode("200");
24 response.setMsg("添加用户成功");
25 } else {
26 response.setCode("500");
27 response.setMsg("添加用户失败");
28 }
29 return response;
30 }
31
32 @GetMapping("/all") // 获取所有用户
33 public ResponseData<List<User>> getAllUsers() {
34 List<User> users = userService.getAllUsers();
35 ResponseData<List<User>> response = new ResponseData<>();
36 if (!users.isEmpty()) {
37 response.setData(users);
38 response.setCode("200");
39 response.setMsg("获取用户列表成功");
40 } else {
41 response.setCode("500");
42 response.setMsg("没有找到用户");
43 }
44 return response;
45 }
46}
定义响应数据模型
为了统一响应格式,我们可以定义一个简单的 ResponseData
类:
1public class ResponseData<T> {
2 private T data;
3 private String code;
4 private String msg;
5
6 public T getData() { return data; }
7 public void setData(T data) { this.data = data; }
8 public String getCode() { return code; }
9 public void setCode(String code) { this.code = code; }
10 public String getMsg() { return msg; }
11 public void setMsg(String msg) { this.msg = msg; }
12}
结语
通过上述步骤,我们成功地在 Spring Boot 中使用 MyBatis Plus 实现了基本的 CRUD 操作。这种方式不仅简化了代码编写,还提高了代码的可读性和可维护性。希望这篇文章对你有所帮助!