• 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)

  • 相关阅读:
    springboot整合其它项目
    产品经理和项目经理谁才是项目管理界的NO.1?
    java计算机毕业设计vue校园菜鸟驿站管理系统MyBatis+系统+LW文档+源码+调试部署
    K8S集群master节点打污点:可让master节点参与pod调度
    opencv滤波技术
    支付、结算、对账流程
    [ROS](09)ROS通信 —— 话题(Topic)通信之msg
    淘宝账号如何快速提升到更高等级
    Web&Http&Servlet&Request&Response(完整知识点汇总)
    功能化Methyltetrazine-PEG8-iodoacetamide/Py-Tetrazine-Py-PEG1-Azide研究
  • 原文地址:https://blog.csdn.net/m0_67265464/article/details/126034440