020_MyBatisPlus CRUD扩展


目录
  • Insert 插入
    • 新增测试
    • 主键生成策略
      • 源码分析
      • 雪花算法 IdType.ID_WORKER
      • 主键自增 IdType.AUTO
      • 未设置主键类型 IdType.NONE
      • 手动输入 IdType.INPUT
      • UUID IdType.UUID
      • 雪花算法的字符串表示 IdType.ID_WORKER_STR
  • Update 更新
    • 更新测试
  • 自动填充
    • 方式一:数据库级别
    • 方式二:代码级别
      • 字段添加注解
      • 编写处理器处理注解
      • 测试
  • 乐观锁
    • 乐观锁实现方式
    • MybatisPlus乐观锁插件实现
      • 数据库表添加字段version
      • 实体类字段添加@version注解
      • 配置插件,注册乐观锁组件
      • 测试乐观锁成功
      • 测试乐观锁失败
  • Select 查询
    • 分页查询
    • MybatisPlus分页插件实现
      • 配置拦截器组件
      • 使用Page对象
  • Delete 删除
    • 逻辑删除
    • MybatisPlus实现逻辑删除

https://blog.csdn.net/lq18050010830/article/details/89845790
SnowFlake 算法,是 Twitter 开源的分布式 id 生成算法。其核心思想就是:使用一个 64 bit 的 long 型的数字作为全局唯一 id。在分布式系统中的应用十分广泛,且ID 引入了时间戳,基本上保持自增的。
这 64 个 bit 中,其中 1 个 bit 是不用的,然后用其中的 41 bit 作为毫秒数,用 10 bit 作为工作机器 id,12 bit 作为序列号。

package com.qing.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    // 不加注解,默认主机生成策略为IdType.ID_WORKER,即雪花算法
    @TableId(type = IdType.ID_WORKER)
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

image.png
https://baomidou.com/pages/4c6bcf/
image.png
https://baomidou.com/pages/0d93c0/#optimisticlockerinnerinterceptor
image.png
https://baomidou.com/pages/97710a/
image.png
image.png
https://baomidou.com/pages/6b03c5/
image.png
image.png

MybatisPlus实现逻辑删除

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

相关