Spring Boot 3.x 与 JDK 21 整合 MyBatis-Plus 的实现
在现代的 Java 开发中,Spring Boot 和 MyBatis-Plus 凭借其简洁、高效的特性,成为了开发者的热门选择。本篇文章将介绍如何将 Spring Boot 3.x 和 JDK 21 整合 MyBatis-Plus,以便快速构建一个简单的 CRUD 应用。我们将从创建项目开始,并演示如何配置与使用 MyBatis-Plus。
1. 创建 Spring Boot 项目
可以使用 Spring Initializr 创建一个新的 Spring Boot 项目。选择以下配置:
- 项目:Maven Project
- 语言:Java
- Spring Boot 版本:3.x
- JDK:21
- 依赖项:
- Spring Web
- MyBatis-Plus Boot Starter
- Spring Data JPA(可选)
- 数据库驱动(H2, MySQL 等,根据需要选择)
创建完项目后,导入到 IDE 中。
2. 添加 MyBatis-Plus 依赖
在 pom.xml
文件中,确保已经引入了 MyBatis-Plus 相关的依赖。如下示例:
<dependencies>
<!-- Spring Boot Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- MyBatis-Plus Starter -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3</version>
</dependency>
<!-- 数据库驱动,例如 MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- 其他依赖 -->
</dependencies>
3. 配置数据源
在 src/main/resources/application.yml
中,配置数据库连接信息和 MyBatis-Plus 的设置:
spring:
datasource:
url: jdbc:mysql://localhost:3306/test_db?useSSL=false&serverTimezone=UTC
username: your_username
password: your_password
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
# 开启链式查询
configuration:
mapper-locations: classpath*:mapper/**/*.xml
4. 创建实体类
创建一个简单的用户实体类 User
,并使用 MyBatis-Plus 的注解:
package com.example.demo.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;
}
5. 创建 Mapper 接口
定义一个 Mapper 接口,继承 MyBatis-Plus 的 BaseMapper
:
package com.example.demo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.entity.User;
public interface UserMapper extends BaseMapper<User> {
}
6. 创建 Service 类
创建一个服务类来封装业务逻辑:
package com.example.demo.service;
import com.example.demo.entity.User;
import com.example.demo.mapper.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 List<User> getAllUsers() {
return userMapper.selectList(null);
}
public void saveUser(User user) {
userMapper.insert(user);
}
// 其他业务逻辑
}
7. 创建 Controller
添加 Controller 以处理 HTTP 请求:
package com.example.demo.controller;
import com.example.demo.entity.User;
import com.example.demo.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;
@GetMapping
public List<User> getUsers() {
return userService.getAllUsers();
}
@PostMapping
public void addUser(@RequestBody User user) {
userService.saveUser(user);
}
// 其他 API 接口
}
8. 运行项目
确保数据库已经创建并包含相应的表结构。可以使用 H2 数据库的内存模式来快速测试。运行 Spring Boot 项目时,访问 http://localhost:8080/users
,你可以看到返回的用户列表。
总结
本文介绍了如何在 Spring Boot 3.x 项目中使用 JDK 21 整合 MyBatis-Plus,并实现简单的 CRUD 操作。这种架构可以让你快速开发高效的数据库应用,享受 Spring Boot 和 MyBatis-Plus 带来的便利。希望这篇教程能帮助你更好地理解 MyBatis-Plus 的使用。