mybatis-plus使用技巧

Mybatis-Plus是一个Mybatis的增强工具,提供了CRUD操作、热加载、代码生成、分页等功能。其主键策略如`assign_id`利用雪花算法,避免主键冲突。分页功能通过PaginationInterceptor实现。Mybatis-Plus还支持自动填充时间字段,可以通过@TableField注解实现。在使用中,可以通过BaseMapper的多种方法进行灵活查询。
摘要由CSDN通过智能技术生成

mybatis-plus是mybatis的增强工具, 由苞米豆开发, 在mybatis的基础上自做增强,不做修改,所以兼容mybatis的所有的语法, 实际上若是复杂sql无法通过mybatis-plus的querywapper对象查询时,我们还是使用myatis的原生的标签执行的.总之,mp有以下特点:

  • 润物无声  
    • 只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑。
  • 效率至上
    • 只需简单配置,即可快速进行 CRUD 操作,从而节省大量时间。
  • 丰富功能
    • 热加载、代码生成、分页、性能分析等功能一应俱全。

mp的主键策略

mp自带的主键策略叫做assign_id,这是一种非常好用的主键测试, 其内部的原理就是使用了雪花算法.这个很有必要聊一下的.

普通的主键生成策略如uuid,或者自增等, 在数据量较多需要执行分库分表的时候就不是很适用了. 为了避免主键重复导致的冲突问题使用到了雪花算法

雪花算法具体使用和原理如下:

雪花算法是由Twitter公布的分布式主键生成算法,它能够保证不同表的主键的不重复性,以及相同表的主键的有序性。

  • 核心思想:​​​​​​​
    • 核心思想:
      • 长度共64bit(一个long型)。
      • 首先是一个符号位,1bit标识,由于long基本类型在Java中是带符号的,最高位是符号位,正数是0,负数是1,id一般是正数,所以最高位是0。
      • 41bit时间截(毫秒级),存储的是时间截的差值(当前时间截 - 开始时间截),结
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值