使用MyBatis-Plus与Thymeleaf在Spring Boot中实现增删改查
使用MyBatis-Plus和Thymeleaf在Spring Boot项目中实现基本的增删改查(CRUD)功能。Spring Boot作为当前最流行的Java框架之一,结合MyBatis-Plus的强大ORM能力以及Thymeleaf的模板引擎功能,可以高效地开发出动态网站和应用程序。
一、项目准备
1. 创建Spring Boot项目
首先,我们需要在IDE(如IntelliJ IDEA或Eclipse)中创建一个新的Spring Boot项目。可以选择使用Spring Initializr(https://start.spring.io/)来快速生成项目骨架。
2. 添加依赖
在项目的pom.xml
文件中,我们需要添加Spring Boot的起步依赖、MyBatis-Plus的依赖、Thymeleaf的依赖以及MySQL的数据库驱动依赖。以下是一个基本的pom.xml
配置示例:
<dependencies> | |
<dependency> | |
<groupId>org.springframework.boot</groupId> | |
<artifactId>spring-boot-starter-web</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework.boot</groupId> | |
<artifactId>spring-boot-starter-thymeleaf</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>com.baomidou</groupId> | |
<artifactId>mybatis-plus-boot-starter</artifactId> | |
<version>3.5.1</version> | |
</dependency> | |
<!-- MySQL 驱动 --> | |
<dependency> | |
<groupId>mysql</groupId> | |
<artifactId>mysql-connector-java</artifactId> | |
<version>8.0.27</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework.boot</groupId> | |
<artifactId>spring-boot-starter-test</artifactId> | |
<scope>test</scope> | |
</dependency> | |
<dependency> | |
<groupId>org.projectlombok</groupId> | |
<artifactId>lombok</artifactId> | |
<optional>true</optional> | |
</dependency> | |
</dependencies> |
3. 配置数据库
在application.yml
或application.properties
文件中配置数据库连接信息。这里以application.yml
为例:
spring: | |
datasource: | |
url: jdbc:mysql://localhost:3306/aa?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC | |
username: root | |
password: 123456 | |
driver-class-name: com.mysql.cj.jdbc.Driver | |
type: com.alibaba.druid.pool.DruidDataSource |
二、创建实体类与Mapper接口
1. 实体类
在项目中创建一个实体类,比如User
,使用Lombok来简化代码:
import lombok.Data; | |
@Data | |
public class User { | |
private Long id; | |
private String name; | |
private String email; | |
} |
2. Mapper接口
使用MyBatis-Plus的Mapper接口来定义数据库操作:
import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |
import org.apache.ibatis.annotations.Mapper; | |
@Mapper | |
public interface UserMapper extends BaseMapper<User> { | |
// 继承BaseMapper后,MyBatis-Plus已经提供了基本的CRUD方法 | |
} |
三、创建Service层
Service层负责业务逻辑处理,可以调用Mapper接口的方法来实现数据库操作:
import org.springframework.beans.factory.annotation.Autowired; | |
import org.springframework.stereotype.Service; | |
@Service | |
public class UserService { | |
@Autowired | |
private UserMapper userMapper; | |
public User getById(Long id) { | |
return userMapper.selectById(id); | |
} | |
public boolean save(User user) { | |
return userMapper.insert(user) > 0; | |
} | |
} |
四、创建Controller层
Controller层负责处理HTTP请求,并调用Service层的方法:
import org.springframework.beans.factory.annotation.Autowired; | |
import org.springframework.stereotype.Controller; | |
import org.springframework.ui.Model; | |
import org.springframework.web.bind.annotation.*; | |
@Controller | |
@RequestMapping("/user") | |
public class UserController { | |
@Autowired | |
private UserService userService; | |
@GetMapping("/add") | |
public String addPage(Model model) { | |
return "user/add"; | |
} | |
@PostMapping("/add") | |
@ResponseBody | |
public String add(@RequestBody User user) { | |
boolean success = userService.save(user); | |
return success ? "success" : "failed"; | |
} | |
} |
五、创建Thymeleaf模板
在src/main/resources/templates/user
目录下创建add.html
模板,用于用户添加页面:
<!DOCTYPE html> | |
<html xmlns:th="http://www.thymeleaf.org"> | |
<head> | |
<meta charset="UTF-8"> | |
<title>添加用户</title> | |
</head> | |
<body> | |
<h2>添加用户</h2> | |
<form action="/user/add" method="post"> | |
<label for="name">姓名:</label> | |
<input type="text" id="name" name="name" required><br> | |
<label for="email">邮箱:</label> | |
<input type="email" id="email" name="email" required><br> | |
<input type="submit" value="提交"> | |
</form> | |
</body> | |
</html> |
六、测试
启动Spring Boot应用,并访问http://localhost:8080/user/add
来测试用户添加功能。
以上步骤展示了如何在Spring Boot项目中结合MyBatis-Plus和Thymeleaf来实现基本的增删改查功能。你可以根据具体需求调整和扩展代码。