QueryWrapper(LambdaQueryWrapper) 和 UpdateWrapper(LambdaUpdateWrapper) 的父类用于生成 sql 的 where 条件, entity 属性也用于生成 sql 的 where 条件。注意:entity 生成的 where 条件与 使用各个 api 生成的 where 条件没有任何关联行为。
eq(R column, Object val)
是判断 column 的值是否等于 val 的方法,allEq(Map<R, V> params)
则是判断 map 中多个 key 的值是否等于 value 的方法,类似于多个 eq 方法组合。以下多个方法调用时均为从上往下补全个别 boolean 类型的入参,默认为 true。
// 不带过滤的方法
allEq(Map<R, V> params)
allEq(Map<R, V> params, boolean null2IsNull)
allEq(boolean condition, Map<R, V> params, boolean null2IsNull)
// 带过滤的方法
allEq(BiPredicate<R, V> filter, Map<R, V> params)
allEq(BiPredicate<R, V> filter, Map<R, V> params, boolean null2IsNull)
allEq(boolean condition, BiPredicate<R, V> filter, Map<R, V> params, boolean null2IsNull)
params
: key 为数据库字段名,value 为字段值
null2IsNull
: 为 true 则在 map 的 value 为 null 时调用 isNull 方法,为 false 时则忽略 value 为 null 的
condition
: 表示该条件是否加入最后生成的 sql 中,效果跟传入为空的 map 一样查询全部
filter
: 过滤函数,是否允许字段传入比对条件中
allEq(Map<R, V> params)
补全之后就是 allEq(true,params,true),表示 map 中所有 key 都要进行匹配,包括 value 值为 null 的参数。
allEq(Map<R, V> params,false)
补全之后就是 allEq(true,params,false),表示 map 中除了 value 值为 null 的 key 都要进行匹配。
allEq(BiPredicate<R, V> filter, Map<R, V> params)
补全之后是 allEq(true,filter,params,true) 表示经过过滤后的 map 中所有 key 都要进行匹配,包括 value 为 null 的 key。
allEq(BiPredicate<R, V> filter, Map<R, V> params, false)
补全之后是 allEq(true,filter,params,false) 表示经过过滤后的 map 中除了 value 值为 null 的 key 都要进行匹配。
eq(R column, Object val)
eq(boolean condition, R column, Object val)
ne(R column, Object val)
ne(boolean condition, R column, Object val)
gt(R column, Object val)
gt(boolean condition, R column, Object val)
ge(R column, Object val)
ge(boolean condition, R column, Object val)
lt(R column, Object val)
lt(boolean condition, R column, Object val)
le(R column, Object val)
le(boolean condition, R column, Object val)
between(R column, Object val1, Object val2)
between(boolean condition, R column, Object val1, Object val2)
notBetween(R column, Object val1, Object val2)
notBetween(boolean condition, R column, Object val1, Object val2)
in(R column, Collection<?> value)
in(boolean condition, R column, Collection<?> value)
notIn(R column, Collection<?> value)
notIn(boolean condition, R column, Collection<?> value)
isNull(R column)
isNull(boolean condition, R column)
isNotNull(R column)
isNotNull(boolean condition, R column)
like(R column, Object val)
like(boolean condition, R column, Object val)
notLike(R column, Object val)
notLike(boolean condition, R column, Object val)
likeLeft(R column, Object val)
likeLeft(boolean condition, R column, Object val)
likeRight(R column, Object val)
likeRight(boolean condition, R column, Object val)
// boolean isAsc 是否为正序
orderBy(boolean condition, boolean isAsc, R... columns)
orderByAsc(R... columns)
orderByAsc(boolean condition, R... columns)
orderByDesc(R... columns)
orderByDesc(boolean condition, R... columns)
主动调用 or
表示紧接着下一个方法不是用 and
连接,不调用 or
则默认为使用 and
连接。
or()
or(boolean condition)
groupBy(R... columns)
groupBy(boolean condition, R... columns)
having(String sqlHaving, Object... params)
having(boolean condition, String sqlHaving, Object... params)
继承自 AbstractWrapper,在 Mybatis-Plus 中默认是查询所有参数,如果有需要也可以通过 select 方法指定参数进行查询。
select(String... sqlSelect)
select(Predicate<TableFieldInfo> predicate)
select(Class<T> entityClass, Predicate<TableFieldInfo> predicate)