Mybatis?MybatisPlus!

MybatisPlus是对Mybatis的增强工具,它提供了CRUD操作、查询构造器、通用Service、分页等功能,极大地提高了开发效率。通过入门案例、基本操作和高级特性介绍,展示了如何在SpringBoot项目中集成并使用MybatisPlus。
摘要由CSDN通过智能技术生成

1.PlusMybatis的痛点 

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 文件都需要写一堆基本的增删改查语句。

3.如果查询的列表需要分页,我们还需要给查询方法封装成分页对象。

你可能会说:Mybatis 还能有痛点?用着多方便!

对于小项目而言,用着确实还行。但是遇到大项目,光 Dao 接口都有几百个,如果还要手动定义一堆增删改查方法和 sql 语句,那也很浪费时间。

那有没有这样一个框架:

1.封装了 Mybatis,自带 CRUD 方法,我们不需要自己定义 CRUD 方法。

2.提供各种查询方法,不需要在 mapper 文件中写一些基础的 sql 语句。

3.封装了分页功能,让分页查询无比丝滑。

有的,MybatisPlus 闪亮登场。

目录

         1.Mybatis的痛点

2. 邂逅 MybatisPlus

3. 入门案例

4. 基本增删改查

5. 构造器

6. 通用 Service

7. 常用注解

8. 分页

9. 代码生成器

10. application.yml 配置

11. 完整代码

12. 遇到的坑


官网:

https://baomidou.com/

MybatisPlus 是在 Mybatis 原有功能的基础上进行了封装。它不做改变,而是增强了 Mybatis 的功能。

我们不用写 mappe.xml ,直接调用它的 API 就能完成 CRUD 和各种查询操作。

而且它自带分页插件等一些高级功能,极大地提高了我们的开发效率。

3. 入门案例

开发环境:

  • 开发工具:IDEA
  • 构建工具:Maven
  • 数据库:MySQL
  • 项目框架:SpringBoot

1.新建 SpringBoot 项目

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 = "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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值