• MybatisPlus Wrapper方法


    详细见官方文档:条件构造器 | MyBatis-Plus

    拼接条件(where)的部分:

    1.allEq
    全部相等或者部分为空

    allEq(键值的Map) //默认使用isNull方法
    allEq(键值的Map, 是否使用isNull)

    键值的Map: key为数据库字段名,value为字段值
    是否使用isNull: 为true则在map的value为null时调用isNull方法,为false时则忽略value为null的,即只匹配不是null的部分

    2.eq
    匹配与键值相等的数据

    eq(键,值)

    3.ne
    匹配与键值不相等的数据

    ne(键,值)

    4.gt
    匹配大于键值的数据

    gt(键,值)

    5.ge
    匹配大于等于键值的数据

    ge(键,值)

    6.lt
    匹配小于键值的数据

    lt(键,值)

    7.le
    匹配小于等于键值的数据

    le(键,值)

    8.between
    匹配区间内的数据 BETWEEN 值1 AND 值2

    between(键,值1,值2)

    9.notBetween
    匹配区间外的数据 NOT BETWEEN 值1 AND 值2

    notBetween(键,值1,值2)

    10.like
    模糊查询 前后模糊 %值%

    like(键,值)

    11.notLike
    排除值的模糊查询

    notLike(键,值)

    12.likeLeft
    模糊查询 前模糊 %值

    likeLeft(键,值)

    13.likeRight
    模糊查询 后模糊 值%

    likeRight(键,值)

    14.isNull
    匹配键值为空的数据

    isNull(键,值)

    15.isNotNull
    匹配键值不为空的数据

    isNotNull(键,值)

    16.in
    根据匹配的键值批量查询

    in(键,值的数组)
    in(键,值1,值2,...)

    17.notIn
    根据不匹配的键值批量查询

    notIn(键,值的数组)
    notIn(键,值1,值2,...)

    18.inSql
    子查询

    inSql(键,值)

    例:

    inSql("age", "1,2,3,4,5,6")--->age in (1,2,3,4,5,6)
    inSql("id", "select id from table where id < 3")--->id in (select id from table where id < 3)

    19.notInSql
    子查询 与inSql相反

    notInSql(键,值)

    例:

    notInSql("age", "1,2,3,4,5,6")--->age not in (1,2,3,4,5,6)
    notInSql("id", "select id from table where id < 3")--->id not in (select id from table where id < 3)

    20.groupBy
    分组查询

    groupBy(键1,键2,...)

    21.orderByAsc
    根据键值升序排列

    orderByAsc(键1,键2,...)

    22.orderByDesc
    根据键值降序排列

    orderByDesc(键1,键2,...)

    23.having
    在由GROUP BY子句创建的分组上设置条件

    having(sql语句)
    having(sql语句,条件1,条件2...)

    例:

    having("sum(age) > 10")--->having sum(age) > 10
    having("sum(age) > {0}", 11)--->having sum(age) > 11

    24.or
    有两种用法:
    第一种表示连接方法采用or的形式,默认是and

    or()

    例:

    eq().or().eq()

    第二种表示or嵌套:
    例:

    or(i -> i.eq("name", "李白").ne("status", "活着"))--->or (name = '李白' and status <> '活着')

    25.and
    and嵌套
    例:

    and(i -> i.eq("name", "李白").ne("status", "活着"))--->and (name = '李白' and status <> '活着')

    26.nested
    正常嵌套不带AND或者OR

    nested(i -> i.eq("name", "李白").ne("status", "活着"))--->(name = '李白' and status <> '活着')

    27.apply
    拼接sql

    apply(sql语句,参数1,参数2)

    例:

    apply("date_format(dateColumn,'%Y-%m-%d') = {0}", "2008-08-08")--->date_format(dateColumn,'%Y-%m-%d') = '2008-08-08'")

    28.last
    无视优化规则直接拼接到 sql 的最后
    只能调用一次,多次调用以最后一次为准

    last(sql语句)

    29.exists
    拼接 EXISTS ( sql语句 )

    exists(sql语句)

    30.notExists
    拼接 NOT EXISTS ( sql语句 )

    notExists(sql语句)

    拼接查询(select)的部分:

    select

    select(查询的键1,查询的键2...)

    例:

    select("id", "name", "age")

    拼接更新(update)的部分:
    1.set

    set(键,值)

    2.setSql

    setSql(sql语句)

    转载:
    https://allyixi.blog.csdn.net/article/details/106603783?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link
  • 相关阅读:
    stm32L4xx串口日志配置解析
    泰凌微TLSR8258芯片解决方案开发之串口打印级别设置
    泰凌微TLSR825x智能照明解决方案开发之实例解析
    ble的notification和indication的区别和联系
    PHP "??"只判断null的情况
    vue项目发布时Apache或者nginx配置
    form表单中加required不起用的原因
    twig解决json_encode中文UNICODE转码问题
    蓝叠、逍遥、夜游模拟器,虚拟机与hyperv兼容问题解决,w10家庭版关闭hyperv,华为matebook
    002STM32+BC26|260Y(NBIOT)基本控制篇(阿里云物联网平台)STM32+BC260Y使用MQTT+SSL(mbedtls)加密方式接入阿里云物联网平台(不验证服务器证书)
  • 原文地址:https://www.cnblogs.com/sunice/p/15508945.html
Copyright © 2020-2023  润新知