MyBatis-Plus

目录

  • 一、概念
  • 二、常用注解
  • 三、雪花算法/数据库表拆分
    • 1、主键
    • 2、垂直拆分
    • 3、水平拆分
  • 四、条件查询器
    • 1、QueryWapper
      • 1.1、wapper
      • 1.2、组装查询
      • 1.3、组装排序
      • 1.4、组装删除
      • 1.5、条件优先级
      • 1.6、设置查询字段
      • 1.7、组装select子句
    • 2、UpdateWapper
    • 3、动态组装条件
    • 4、LambdaQueryWapper
    • 5、LambadaUpdateWapper
  • 五、分页插件
    • 1、概念
    • 2、xml中书写
  • 六、乐观锁
  • 七、通用枚举
  • 八、代码生成
  • 九、MyBatis-x插件

一、概念

中文网:https://baomidou.com/
开发环境准备:
MyBatis-Plus_第1张图片

二、常用注解

实体类和表名对应
1、实体类名字和数据库不一致,加@TableName处理
2、数据库表名有统一前缀,比如t_user这类,全局配置即可
3、主键不叫id,加@TableId注解处理
4、主键非id,并且和实体类属性也不对应的时候@Tableld(value=数据库字段)处理
5、plus框架的主键默认是通过雪花算法计算的序列化,并不是注解自增,要用TableId中的type来修改主键生成算法
6、属性名和字段名不对应,用TableFiled来对应。
7、delete_type 这种字段,加上@TableLogic,原生delete变成update语句并且更新为1,所有原生查询增加了delete_type=0的条件,非常ncie。

单个注解:
MyBatis-Plus_第2张图片
实体类统一前缀:
MyBatis-Plus_第3张图片
主键非id的处理:
MyBatis-Plus_第4张图片
主键非id并且和实体类不对应的时候:
MyBatis-Plus_第5张图片
自增算法修改,默认雪花算法,截图改成自增:
MyBatis-Plus_第6张图片
MyBatis-Plus_第7张图片
MyBatis-Plus_第8张图片
有的实体类里面有不是数据库的字段,这个exist=false就用来排除:
MyBatis-Plus_第9张图片
@TabkeLogic
注意,所有delete原生的都是去update这个字段了,非常nice

删除注解:
MyBatis-Plus_第10张图片
删除是真用原生delete删除,但是语句自动更新为1,真nice:
MyBatis-Plus_第11张图片
查询的时候,自动带上了这个,真nice:
MyBatis-Plus_第12张图片

三、雪花算法/数据库表拆分

1、主键

MyBatis-Plus_第13张图片

2、垂直拆分

MyBatis-Plus_第14张图片

3、水平拆分

MyBatis-Plus_第15张图片
MyBatis-Plus_第16张图片
雪花算法非常适合分布式
MyBatis-Plus_第17张图片

四、条件查询器

1、QueryWapper

1.1、wapper

MyBatis-Plus_第18张图片

1.2、组装查询

MyBatis-Plus_第19张图片

1.3、组装排序

MyBatis-Plus_第20张图片

1.4、组装删除

MyBatis-Plus_第21张图片

1.5、条件优先级

默认都是and。or需要加一个or方法,之后的应该又回到and了;
要单独and包裹一块条件,要用到lambda表达式,or同理,看后面截图
MyBatis-Plus_第22张图片
MyBatis-Plus_第23张图片
MyBatis-Plus_第24张图片

MyBatis-Plus_第25张图片

1.6、设置查询字段

只查这些字段:
MyBatis-Plus_第26张图片

1.7、组装select子句

MyBatis-Plus_第27张图片
MyBatis-Plus_第28张图片

2、UpdateWapper

不用写实体类
MyBatis-Plus_第29张图片

3、动态组装条件

MyBatis-Plus_第30张图片
MyBatis-Plus_第31张图片

4、LambdaQueryWapper

MyBatis-Plus_第32张图片

5、LambadaUpdateWapper

MyBatis-Plus_第33张图片

五、分页插件

1、概念

MyBatis-Plus_第34张图片
MyBatis-Plus_第35张图片

2、xml中书写

MyBatis-Plus_第36张图片
xml中并没有分页的任何信息:
MyBatis-Plus_第37张图片

六、乐观锁

MyBatis-Plus_第38张图片
MyBatis-Plus_第39张图片
MyBatis-Plus_第40张图片
plus框架自动给实现了,very nice
MyBatis-Plus_第41张图片

七、通用枚举

类上面加个注解Getter
MyBatis-Plus_第42张图片

八、代码生成

MyBatis-Plus_第43张图片
MyBatis-Plus_第44张图片
坑:
MyBatis-Plus_第45张图片
MyBatis-Plus_第46张图片

九、MyBatis-x插件

MyBatis-Plus_第47张图片
随意生成方法(坑,注意有个Free Mybatis Plug插件快捷键冲突,要把Free这个关闭掉,从此一个MybatisX插件搞定所有)
MyBatis-Plus_第48张图片

你可能感兴趣的:(mybatis,数据库,oracle)