getmethod方法_MyBatisPlus使用QueryWrapper方法说明

cc8cf8c9efcce93cc6cae11ca103a56b.png

这是一篇干货文章!

Mybatis-Plus简介:

Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。这是官方给的定义,关于mybatis-plus的更多介绍及特性,可以参考mybatis-plus官网。那么它是怎么增强的呢?其实就是它已经封装好了一些crud方法,我们不需要再写xml了,直接调用这些方法就行,就类似于JPA。


条件构造器:

说明:

  • 以下出现的第一个入参boolean condition表示该条件是否加入最后生成的sql中

  • 以下代码块内的多个方法均为从上往下补全个别boolean类型的入参,默认为true

  • 以下出现的泛型Param均为Wrapper的子类实例(均具有AbstractWrapper的所有方法)

  • 以下方法在入参中出现的R为泛型,在普通wrapper中是String,在LambdaWrapper中是函数(例:Entity::getId,Entity为实体类,getId为字段id的getMethod)

  • 以下方法入参中的R column均表示数据库字段,当R具体类型为String时则为数据库字段名(字段名是数据库关键字的自己用转义符包裹!)!而不是实体类数据字段名!!!,另当R具体类型为SFunction时项目runtime不支持eclipse自家的编译器!!!

  • 以下举例均为使用普通wrapper,入参为MapList的均以json形式表现!

  • 使用中如果入参的Map或者List为空,则不会加入最后生成的sql中!!!


警告:

不支持以及不赞成在 RPC 调用中把 Wrapper 进行传输

  1. wrapper 很重

  2. 传输 wrapper 可以类比为你的 controller 用 map 接收值(开发一时爽,维护火葬场)

  3. 正确的 RPC 调用姿势是写一个 DTO 进行传输,被调用方再根据 DTO 执行相应的操作

  4. 我们拒绝接受任何关于 RPC 传输 Wrapper 报错相关的 issue 甚至 pr


AbstractWrapper

说明:

QueryWrapper(LambdaQueryWrapper) 和 UpdateWrapper(LambdaUpdateWrapper) 的父类
用于生成 sql 的 where 条件, entity 属性也用于生成 sql 的 where 条件
注意: entity 生成的 where 条件与 使用各个 api 生成的 where 条件没有任何关联行为

QueryWrapper

说明:

继承自 AbstractWrapper ,自身的内部属性 entity 也用于生成 where 条件
及 LambdaQueryWrapper, 可以通过 new QueryWrapper().lambda() 方法获取


具体查询方法

查询方法

说明

eq等于=
ne不等与<>
gt大于>
ge大于等于>=
lt小于<
le小于等于<=
like模糊查询 LIKE
notLike模糊查询 NOT LIKE
inIN 查询
notInNOT IN 查询
isNullNULL 值查询
isNotNullIS NOT NULL

示例

taskQueryWrapper.and(wrapper -> wrapper.like("task_name", adminBaseBO.getSearchWord()).or().in("create_user", userIdList));taskQueryWrapper.like("task_name", adminBaseBO.getSearchWord());taskQueryWrapper.in("assistantId",userIdList);taskQueryWrapper.ge(!StringUtils.isEmpty(adminBaseBO.getStartTime()),"create_time",adminBaseBO.getStartTime())    .le(!StringUtils.isEmpty(adminBaseBO.getEndTime()),"create_time",adminBaseBO.getEndTime());

如果觉得有帮助请三连哦!

187770a12393c6905df2cd15d65371ff.gif

3bfde93d840923ca107cb0cc6e6e6720.png 记得关注,点赞,看一看三连哦!005768c20dda83631b19b12176a4202e.pngb4f06a21cfa61891a04d721862da8d73.png   f994ba77c561bbdbeb3a385b5a031de2.gif
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值