• lambdaQueryWrapper常用方法


    函数名

    说明

    例子

    eq

    等于

    eq(“name”,“张三”) ------> name = ‘张三’

    ne

    不等于

    ne(“name”,“张三”) ------> name <> ‘张三’

    gt

    大于

    gt(“age”,18) ------> age > 18

    ge

    大于等于

    ge(“age”,18) ------> age >= 18

    lt

    小于

    lt(“age”,18) ------> age < 18

    le

    小于等于

    le(“age”,18) ------> age <= 18

    between

    BETWEEN 值1 AND 值2

    between(“age”,18,20) ------> age between 18 and 20

    notBetween

    NOT BETWEEN 值1 AND 值2

    notBetween(“age”,18,20) ------> age not between 18 and 20

    like

    LIKE ‘%值%’

    like(“name”,“张三”) ------> name like ‘%张三%’

    notLike

    NOT LIKE ‘%值%’

    notLike(“name”,“张三”) ------> name not like ‘%张三%’

    likeLeft

    LIKE ‘%值’

    likeLeft(“name”,“张三”) ------> name like ‘%张三’

    likeRight

    LIKE ‘值%’

    likeRight(“name”,“张三”) ------> name like ‘张三%’

    isNull

    字段 IS NULL

    isNull(“name”) ------> name is null

    isNotNull

    字段 IS NOT NULL

    isNotNull(“name”) ------> name is not null

    in

    字段 IN (v0,v1,…)

    in(“age”,{18,20,30}) ------> age in (18,20,30)

    notIn

    字段 NOT IN (v0,v1,…)

    notIn(“age”,18,20,30) ------> age not in (18,20,30)

    inSql

    字段 IN (sql语句)

    inSql(“id”,“select id from table where id < 3”) ------> id in (select id from table where id < 3)

    notInSql

    字段 NOT IN (sql语句)

    notInSql(“id”,“select id from table where id < 3”) ------> id not in (select id from table where id < 3)

    groupBy

    分组: GROUP BY 字段,…

    groupBy(“id”,“name”) ------> group by id,name

    orderByAsc

    排序:ORDERBY 字段,… ASC

    orderByAsc(“id”,“name”) ------> order by id ASC,name ASC

    orderByDesc

    排序:ORDERBY 字段,… DESC

    orderByDesc(“id”,“name”) ------> order by id DESC,name DESC

    orderBy

    排序:ORDERBY 字段,…

    orderBy(“id”,“name”) ------> order by id DESC,name DESC

    having

    HAVING (slq语句)

    having(“sum(age) > {0}”,11) ------>having sum(age) > 11

    or

    拼接 OR

    注意事项: 主动调用or表示紧接着下一个方法不是用and连接!(不调用or则默认为使用and连接) eq(“id”,1).or().eq(“name”,“张三”) ------> id = 1 or name = ‘张三’

    and

    AND 嵌套

    and(i -> i.eq(“name”,“张三”).ne(“age”,20) ------> and (name = ‘张三’ and age <> 20)

    apply

    拼接sql

    注意事项:该方法可用于数据库函数 动态入参的params对应前面sqlHaving内部的{index}部分,这样是不会有sql注入风险的,反之会有!apply(“date_format(dateColumn,‘%Y-%m-%d’) = {0}”,“2022-02-08”) ------> date_format(dateColum, ‘%Y-%m-%d’) = ‘2022-02-08’

    last

    无视优化规则直接拼接到sql的最后

    注意事项:只能调用一次,多次调用以最后一次为准,有sql注入的风险,请谨慎使用 last(“limt 2”)

    exists

    拼接EXISTS (sql语句)

    exists(“select id from table where age = 20”) ------> exists (select id from table where age = 20)

    notExists

    拼接NOT EXISTS (sql语句)

    notExists(“select id from table where age = 20”) ------> not exists (select id from table where age = 20)

    nested

    正常嵌套 不带AND 或者 OR

    nested(i -> i.eq(“name”,“张三”).ne(“age”,20)) ------> nested(name = ‘张三’ and age <> 20)

  • 相关阅读:
    github 网页显示不全?
    Ubuntu下安装TexLive+TexStudio
    ExtJS - ExtJS实例
    【踩坑系列】发送微信模板消息返回40165 invalid weapp pagepath
    4405. 统计子矩阵
    基于YOLOv5、YOLOv8的火灾检测(超实用毕业设计项目)
    Mindspore网络构建
    树莓派(四)树莓派外设开发基础篇
    【树莓派/入门】1.69inch LCD屏幕的连接与测试
    Acrel-EIoT能源物联网云平台助力电力物联网数据服务-Susie 周
  • 原文地址:https://blog.csdn.net/m0_67265464/article/details/126034440