MP条件构造器

介绍

在这里插入图片描述

  • Wrapper : 条件构造抽象类,最顶端父类
  • AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件
  • ​ QueryWrapper : Entity 对象封装操作类,不是用lambda语法
  • ​ UpdateWrapper : Update 条件封装,用于Entity对象更新操作
  • ​ AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。
  • LambdaQueryWrapper :看名称也能明白就是用于Lambda语法使用的查询Wrapper
  • LambdaUpdateWrapper : Lambda 更新封装Wrapper

QueryWrapper 使用

 //写数据库字段
 QueryWrapper<Object> wrapperQW = new QueryWrapper<>()
         .ge("age",20);
 //写实体属性,而不是数据库字段
 LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<User>()
         .ge(User::getAge, 20);

1、ge (>=) 、gt (>).gt("age",20);le (<=)、lt (<).le("age",20);
2、eq(=).eq("age",20);、ne (!=).ne("age",20);
3、like(%ng%)、likeLeft(%ng)、likeRight(ng%).like("name", "e")

  • like %keyword% :索引失效,也无法使用反向索引。
  • like %keyword :索引失效,使用全表扫描。但可以通过翻转函数+like前模糊查询+建立翻转函数索引=走翻转函数索引,不走全表扫描。
  • like keyword% :.like("name", "e")索引有效。

4、orderByDesc、orderByAsc.orderByAsc(User::getId);默认升序(asc)/desc


版权声明:本文为ss977原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。