学会了MybatisPlus,代码开发效率提高了10倍

1. Mybatis 存在的痛点我们知道 MyBatis 是一个基于 JAVA 的持久层框架 , 它内部封装了 jdbc , 极大提高了我们的开发效率 。
但是使用 Mybatis 开发也有很多痛点:

  1. 每个 Dao 接口都需要自己定义一堆增删改查方法 。
/** * @Desc: UserDao 接口 * @Author: 公众号:知否技术 * @date: 下午7:43 2022/5/7 */public interface UserDao {// 获取所有用户信息List<User> getUserList();// 根绝 id 获取用户信息User getUserById(int id);// 新增用户信息boolean add(User user);// 更新用户信息boolean update(User user);// 删除用户信息boolean delete(int id);}复制代码2.每个 MApper 文件都需要写一堆基本的增删改查语句 。
学会了MybatisPlus,代码开发效率提高了10倍

文章插图
 
3.如果查询的列表需要分页 , 我们还需要给查询方法封装成分页对象 。
你可能会说:Mybatis 还能有痛点?用着多方便!
对于小项目而言 , 用着确实还行 。但是遇到大项目 , 光 Dao 接口都有几百个 , 如果还要手动定义一堆增删改查方法和 sql 语句 , 那也很浪费时间 。
那有没有这样一个框架:
1.封装了 Mybatis , 自带 CRUD 方法 , 我们不需要自己定义 CRUD 方法 。
2.提供各种查询方法 , 不需要在 mapper 文件中写一些基础的 sql 语句 。
3.封装了分页功能 , 让分页查询无比丝滑 。
有的 , MybatisPlus 闪亮登场 。
学会了MybatisPlus,代码开发效率提高了10倍

文章插图
 
2. 邂逅 MybatisPlus官网:
https://baomidou.com/复制代码MybatisPlus 是在 Mybatis 原有功能的基础上进行了封装 。它不做改变 , 而是增强了 Mybatis 的功能 。
我们不用写 mappe.xml  , 直接调用它的 API 就能完成 CRUD 和各种查询操作 。
而且它自带分页插件等一些高级功能 , 极大地提高了我们的开发效率 。
3. 入门案例开发环境:
  • 开发工具:IDEA
  • 构建工具:Maven
  • 数据库:MySQL
  • 项目框架:SpringBoot
1.新建 SpringBoot 项目
学会了MybatisPlus,代码开发效率提高了10倍

文章插图
 

学会了MybatisPlus,代码开发效率提高了10倍

文章插图
 

学会了MybatisPlus,代码开发效率提高了10倍

文章插图
 
2.引入依赖
<!-- mybatis-plus 依赖--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.0</version></dependency><!-- mysql驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><!-- test --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>复制代码3.创建数据库表
user 表:
CREATE TABLE `user` (`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '姓名',`age` int DEFAULT NULL COMMENT '年龄',PRIMARY KEY (`id`) USING BTREE) ENGINE=InnoDB AUTO_INCREMENT=1508421137384648706 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;复制代码4.实体类
public class User {@TableId(value = https://www.isolves.com/it/cxkf/kj/2022-06-14/"id", type = IdType.ASSIGN_ID)private Long id;private String name;private int age;public User(String name, int age) {this.name = name;this.age = age;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}复制代码5.修改 application.yml
server:port: 8082servlet:context-path: /mybatisplus_demo# 数据源配置spring:datasource:username: rootpassword: 12345678url: jdbc:mysql://localhost:3306/ssm?allowPublicKeyRetrieval=true&useSSL=falsedriver-class-name: com.mysql.cj.jdbc.Driver复制代码6.新建 UserMapper 接口
学会了MybatisPlus,代码开发效率提高了10倍

文章插图
 
注:
(1)因为 mybatis 规定:mapper.xml 文件的名字要和接口名字一样 , 所以很多人习惯将 Dao 接口命名为 xxxMapper 。


推荐阅读