条件构造器
说明:
- 以下出现的第一个入参
boolean condition表示该条件是否加入最后生成的sql中- 没有标明
condition的方法,默认为true- 以下出现的泛型
Param均为Wrapper的子类实例(均具有AbstractWrapper的所有方法)- 以下方法在入参中出现的
R为泛型,在普通wrapper中是String,在LambdaWrapper中是函数(例:Entity::getId,Entity为实体类,getId为字段id的getMethod)- 参数
R column均表示数据库字段,而不是实体类数据字段名!!!(字段名是数据库关键字的自己用转义符包裹!)!- 以下举例均为使用普通wrapper,入参为
Map和List的均以json形式表现!- 使用中如果入参的
Map或者List为空,则不会加入最后生成的sql中!!!- 有任何疑问就点开源码看,看不懂函数的点击我学习新知识
警告:
不支持以及不赞成在 RPC 调用中把 Wrapper 进行传输(远程调用)
- wrapper 很重
- 传输 wrapper 可以类比为你的 controller 用 map 接收值(开发一时爽,维护火葬场)
- 正确的 RPC 调用姿势是写一个 DTO 进行传输,被调用方再根据 DTO 执行相应的操作
- 我们拒绝接受任何关于 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










网友评论