一、前言
在现代 Java 应用程序中,数据访问层的效率与简洁性至关重要。MyBatis-Plus 作为 MyBatis 的增强工具,旨在简化常见的数据操作,提升开发效率。它提供了丰富的功能,如自动生成 SQL、条件构造器和简单易用的 CRUD 操作,极大地减少了代码的冗余。
本文将带你从零开始,快速入门 MyBatis-Plus。我们将首先介绍如何安装和配置 MyBatis-Plus,然后通过一个简单的示例演示如何使用它进行数据操作。无论你是 MyBatis 的新手还是希望提升开发效率的老手,本文都将为你提供清晰的指导和实用的技巧。
二、快速入门
以下是一个 MyBatis-Plus 入门 Demo,展示如何使用 MyBatis-Plus 进行基本的数据库操作。
2.1 数据库准备
在mysql,创建一张用户表,并插入数据
DDL语句
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`
(
id BIGINT NOT NULL COMMENT '主键ID',
name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
age INT NULL DEFAULT NULL COMMENT '年龄',
email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (id)
);
DML语句
DELETE FROM `user`;
INSERT INTO `user` (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');
这里使用Dbeaver数据库客户端操作
2.2 创建SpringBoot工程
使用IDEA创建
2.3 添加依赖
在pom文件中,添加如下依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.9</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>[8.0.0,9.0.0)</version> <!-- 选择 8.0.x 的最新版本 -->
</dependency>
备注:springboot版本建议降低,后续启动可能报错
2.4 application.yml
配置
在项目中,一般使用yml
配置,先把工程中application.properties文件改为application.yml
spring:
datasource:
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
driver-class-name: com.mysql.cj.jdbc.Driver
username:
password:
mybatis-plus:
mapper-locations: classpath:mapper/**/*.xml
2.5 创建实体类
在创建之前,建议先创建几个包,分别存放
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
2.6 创建 Mapper 接口
创建一个 Mapper 接口 UserMapper.java
:
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface UserMapper extends BaseMapper<User> {
}
2.7 创建 Service 类
创建一个服务类 UserService.java
:
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@Service
public class UserService extends ServiceImpl<UserMapper, User> {
}
2.8 创建 Controller 类
创建一个控制器 UserController.java
:
@RestController
@RequestMapping("/user")
public class UserController {
@Resource
private UserService userService;
/**
* 获取全部用户
*
* @return List<User>
*/
@PostMapping("/list")
public List<User> getAllUsers() {
return userService.list();
}
/**
* 根据用户id查询用户
*
* @param id 用户id
* @return User
*/
@GetMapping("/get_by_id")
public User getUserById(@RequestParam("id") Long id) {
return userService.getById(id);
}
}
2.9 配置启动类扫描
在 Spring Boot 启动类中添加 @MapperScan
注解,扫描 Mapper 文件夹:
2.10 启动服务
2.11 测试
使用postman进行接口测试
- 查询全部用户
- 根据id查询用户
通过本篇文章,我们已经从安装到配置,再到实现第一个 Demo,全面了解了 MyBatis-Plus 的基本用法。MyBatis-Plus 的简化操作和强大功能,可以显著提高开发效率,减少样板代码,使我们能更专注于业务逻辑的实现。
随着对 MyBatis-Plus 的深入了解,后续会探索更多高级特性,如分页查询、逻辑删除和性能优化等,以进一步提升应用的灵活性和响应速度。