MyBatis - Plus条件构造器

本文详细介绍了MyBatis Plus的条件构造器,包括AbstractWrapper和QueryWrapper的使用方法,如eq、ne、gt等操作,并提供了丰富的示例说明如何构造SQL查询和更新条件。
摘要由CSDN通过智能技术生成

说明

  • 以下出现的第一个参数 boolean condition 表示该条件是否加入最后生成的sql中
  • 以下代码块的多个方法均为从上往下补全个别boolean类型的为入参,默认为true
  • 以下出现的泛型This均使用Wrapper的实例
  • 以下方法出现的R为泛型,在普通的warapper中是String,在LambdaWrapper的函数(例:Entity::getId,Entity为实体类,getId为字段id的getMethod)
  • 以下方法入参中的R column均表示数据库字段,当R为String时则为数据库字段名(字段名是数据库关键字的自己用转义符包裹!)!而不是实体类数据字段名!!!
  • 以下举例均为使用普通wrapper,入参为MapList的均以json形式表现!
  • 使用中如果入参的Map或者List为空,则不会加入最后生成的sql中!!!

AbstractWrapper

说明
  • QueryWrapper(LambdaQueryWrapper) 和 UpdateWrapper(LambdaUpdateWrapper) 的父类
    用于生成 sql 的 where 条件, entity 属性也用于生成 sql 的 where 条件
allEq
allEq(Map<R, V> params)
allEq(Map<R, V> params, boolean null2IsNull)
allEq(boolean condition, Map<R, V> params, boolean null2IsNull)

  • 全部eq(或个别isNull)
  • 个别参数说明
    params : key为数据库字段名,value为字段值
    null2IsNull: 为true则在map的value为null时调用 isNull 方法,为false时则忽略value为null的
  • 例: allEq({id:1,name:“老王”,age:null})—>id = 1 and name = ‘老王’ and age is null
  • 例:allEq({id:1,name:“老王”,age:null}, false)—>id = 1 and name = ‘老王’
allEq(BiPredicate<R, V> filter, Map<R, V> params)
allEq(BiPredicate<R, V> filter, Map<R, V> params, boolean null2IsNull)
allEq(boolean condition, BiPredicate<R, V> filter, Map<R, V> params, boolean null2IsNull) 
个别参数说明:

filter : 过滤函数,是否允许字段传入比对条件中
params 与 null2IsNull : 同上

  • 例:allEq((k,v) -> k.indexOf(“a”) > 0, {id:1,name:“老王”,age:null})—>name = ‘老王’ and age is null
  • 例: allEq((k,v) -> k.indexOf(“a”) > 0, {id:1,name:“老王”,age:null}, false)—>name = ‘老王’
ep
eq(R column, Object val)
eq(boolean condition, R column, Object val)

  • 等于
  • 例: eq(“name”, “老王”)—>name = ‘老王’
ne
ne(R column, Object val)
ne(boolean condition, R column, Object val)
  • 不等于 <>
  • 例: ne(“name”, “老王”)—>name <> ‘老王’
gt
gt(R column, Object val)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值