美文网首页
mybatis plus条件拼接

mybatis plus条件拼接

作者: 虾米咬小米 | 来源:发表于2021-01-04 10:33 被阅读0次

    条件构造器

    说明:

    • 以下出现的第一个入参boolean condition表示该条件是否加入最后生成的sql中
    • 没有标明condition的方法,默认为true
    • 以下出现的泛型Param均为Wrapper的子类实例(均具有AbstractWrapper的所有方法)
    • 以下方法在入参中出现的R为泛型,在普通wrapper中是String,在LambdaWrapper中是函数(例:Entity::getId,Entity为实体类,getId为字段idgetMethod)
    • 参数R column均表示数据库字段,而不是实体类数据字段名!!!(字段名是数据库关键字的自己用转义符包裹!)!
    • 以下举例均为使用普通wrapper,入参为MapList的均以json形式表现!
    • 使用中如果入参的Map或者List,则不会加入最后生成的sql中!!!
    • 有任何疑问就点开源码看,看不懂函数点击我学习新知识

    警告:
    不支持以及不赞成在 RPC 调用中把 Wrapper 进行传输(远程调用)

    1. wrapper 很重
    2. 传输 wrapper 可以类比为你的 controller 用 map 接收值(开发一时爽,维护火葬场)
    3. 正确的 RPC 调用姿势是写一个 DTO 进行传输,被调用方再根据 DTO 执行相应的操作
    4. 我们拒绝接受任何关于 RPC 传输 Wrapper 报错相关的 issue 甚至 pr

    eq:等于 =
    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)
    gt(boolean condition, R column, Object val)

    参考:
    https://www.cnblogs.com/ziyue7575/p/d7b0ae33d4b51d97f490ee9f4092808b.html

    相关文章

      网友评论

          本文标题:mybatis plus条件拼接

          本文链接:https://www.haomeiwen.com/subject/fmvmoktx.html