java.lang.Object
org.miaixz.bus.mapper.criteria.Criteria<T>
- Type Parameters:
T- 实体类类型
- Direct Known Subclasses:
OrCriteria
查询条件类,用于构建复杂的 SQL 查询条件
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCriterion(String condition) 添加简单条件voidaddCriterion(String condition, Object value) 添加带单个值的条件voidaddCriterion(String condition, Object value1, Object value2) 添加范围条件voidaddCriterion(String condition, Object value1, Object value2, ColumnMeta column) 添加带列信息的范围条件voidaddCriterion(String condition, Object value, ColumnMeta column) 添加带单个值和列信息的条件条件添加字段在值区间内的判断添加字段在值区间内的判断andCondition(boolean useCondition, String condition) 条件添加自定义条件andCondition(boolean useCondition, String condition, Object value) 条件添加自定义条件和值andCondition(String condition) 添加自定义条件andCondition(String condition, Object value) 添加自定义条件和值andEqualTo(boolean useCondition, Fn<T, Object> fn, Object value) 条件添加字段等于值的判断andEqualTo(Fn<T, Object> fn, Object value) 添加字段等于值的判断andGreaterThan(boolean useCondition, Fn<T, Object> fn, Object value) 条件添加字段大于值的判断andGreaterThan(Fn<T, Object> fn, Object value) 添加字段大于值的判断andGreaterThanOrEqualTo(boolean useCondition, Fn<T, Object> fn, Object value) 条件添加字段大于等于值的判断andGreaterThanOrEqualTo(Fn<T, Object> fn, Object value) 添加字段大于等于值的判断条件添加字段在值集合中的判断添加字段在值集合中的判断andIsNotNull(boolean useCondition, Fn<T, Object> fn) 条件添加字段非空的判断andIsNotNull(Fn<T, Object> fn) 添加字段非空的判断条件添加字段为空的判断添加字段为空的判断andLessThan(boolean useCondition, Fn<T, Object> fn, Object value) 条件添加字段小于值的判断andLessThan(Fn<T, Object> fn, Object value) 添加字段小于值的判断andLessThanOrEqualTo(boolean useCondition, Fn<T, Object> fn, Object value) 条件添加字段小于等于值的判断andLessThanOrEqualTo(Fn<T, Object> fn, Object value) 添加字段小于等于值的判断条件添加字段模糊匹配的判断添加字段模糊匹配的判断条件添加字段不在值区间内的判断添加字段不在值区间内的判断andNotEqualTo(boolean useCondition, Fn<T, Object> fn, Object value) 条件添加字段不等于值的判断andNotEqualTo(Fn<T, Object> fn, Object value) 添加字段不等于值的判断条件添加字段不在值集合中的判断添加字段不在值集合中的判断andNotLike(boolean useCondition, Fn<T, Object> fn, Object value) 条件添加字段非模糊匹配的判断andNotLike(Fn<T, Object> fn, Object value) 添加字段非模糊匹配的判断andOr(List<OrCriteria<T>> orCriteriaList) 添加 OR 条件列表andOr(OrCriteria<T> orCriteria1, OrCriteria<T> orCriteria2, OrCriteria<T>... orCriterias) 添加多个 OR 条件获取方法引用对应的列名获取条件列表booleanisValid()判断条件是否有效Class<? extends org.apache.ibatis.type.TypeHandler> typehandler(Fn<T, Object> fn) 获取方法引用对应的类型处理器booleanuseCriterion(Object obj) 判断是否使用该条件 如果 useSelective=false 则不开启条件值判空,使用该条件 如果 useSelective=true 且 条件值不为空,使用该条件
-
Field Details
-
criteria
条件列表,存储所有的查询条件
-
-
Constructor Details
-
Criteria
public Criteria()默认构造函数,初始化条件列表 -
Criteria
public Criteria(boolean useSelective) 带选择性条件的构造函数- Parameters:
useSelective- 是否启用选择性条件(非空校验)
-
-
Method Details
-
column
获取方法引用对应的列名- Parameters:
fn- 方法引用- Returns:
- 列名
-
typehandler
获取方法引用对应的类型处理器- Parameters:
fn- 方法引用- Returns:
- 类型处理器类
-
useCriterion
判断是否使用该条件 如果 useSelective=false 则不开启条件值判空,使用该条件 如果 useSelective=true 且 条件值不为空,使用该条件- Parameters:
obj- 条件值- Returns:
- true 表示使用,false 表示不使用
-
addCriterion
添加简单条件- Parameters:
condition- 条件表达式
-
addCriterion
添加带单个值的条件- Parameters:
condition- 条件表达式value- 条件值
-
addCriterion
添加带单个值和列信息的条件- Parameters:
condition- 条件表达式value- 条件值column- 列信息
-
addCriterion
添加范围条件- Parameters:
condition- 条件表达式value1- 起始值value2- 结束值
-
addCriterion
添加带列信息的范围条件- Parameters:
condition- 条件表达式value1- 起始值value2- 结束值column- 列信息
-
andIsNull
条件添加字段为空的判断- Parameters:
useCondition- 是否启用条件fn- 方法引用- Returns:
- 当前条件对象
-
andIsNull
添加字段为空的判断- Parameters:
fn- 方法引用- Returns:
- 当前条件对象
-
andIsNotNull
条件添加字段非空的判断- Parameters:
useCondition- 是否启用条件fn- 方法引用- Returns:
- 当前条件对象
-
andIsNotNull
添加字段非空的判断- Parameters:
fn- 方法引用- Returns:
- 当前条件对象
-
andEqualTo
条件添加字段等于值的判断- Parameters:
useCondition- 是否启用条件fn- 方法引用value- 值- Returns:
- 当前条件对象
-
andEqualTo
添加字段等于值的判断- Parameters:
fn- 方法引用value- 值- Returns:
- 当前条件对象
-
andNotEqualTo
条件添加字段不等于值的判断- Parameters:
useCondition- 是否启用条件fn- 方法引用value- 值- Returns:
- 当前条件对象
-
andNotEqualTo
添加字段不等于值的判断- Parameters:
fn- 方法引用value- 值- Returns:
- 当前条件对象
-
andGreaterThan
条件添加字段大于值的判断- Parameters:
useCondition- 是否启用条件fn- 方法引用value- 值- Returns:
- 当前条件对象
-
andGreaterThan
添加字段大于值的判断- Parameters:
fn- 方法引用value- 值- Returns:
- 当前条件对象
-
andGreaterThanOrEqualTo
条件添加字段大于等于值的判断- Parameters:
useCondition- 是否启用条件fn- 方法引用value- 值- Returns:
- 当前条件对象
-
andGreaterThanOrEqualTo
添加字段大于等于值的判断- Parameters:
fn- 方法引用value- 值- Returns:
- 当前条件对象
-
andLessThan
条件添加字段小于值的判断- Parameters:
useCondition- 是否启用条件fn- 方法引用value- 值- Returns:
- 当前条件对象
-
andLessThan
添加字段小于值的判断- Parameters:
fn- 方法引用value- 值- Returns:
- 当前条件对象
-
andLessThanOrEqualTo
条件添加字段小于等于值的判断- Parameters:
useCondition- 是否启用条件fn- 方法引用value- 值- Returns:
- 当前条件对象
-
andLessThanOrEqualTo
添加字段小于等于值的判断- Parameters:
fn- 方法引用value- 值- Returns:
- 当前条件对象
-
andIn
条件添加字段在值集合中的判断- Parameters:
useCondition- 是否启用条件fn- 方法引用values- 值集合- Returns:
- 当前条件对象
-
andIn
添加字段在值集合中的判断- Parameters:
fn- 方法引用values- 值集合- Returns:
- 当前条件对象
-
andNotIn
条件添加字段不在值集合中的判断- Parameters:
useCondition- 是否启用条件fn- 方法引用values- 值集合- Returns:
- 当前条件对象
-
andNotIn
添加字段不在值集合中的判断- Parameters:
fn- 方法引用values- 值集合- Returns:
- 当前条件对象
-
andBetween
条件添加字段在值区间内的判断- Parameters:
useCondition- 是否启用条件fn- 方法引用value1- 起始值value2- 结束值- Returns:
- 当前条件对象
-
andBetween
添加字段在值区间内的判断- Parameters:
fn- 方法引用value1- 起始值value2- 结束值- Returns:
- 当前条件对象
-
andNotBetween
public Criteria<T> andNotBetween(boolean useCondition, Fn<T, Object> fn, Object value1, Object value2) 条件添加字段不在值区间内的判断- Parameters:
useCondition- 是否启用条件fn- 方法引用value1- 起始值value2- 结束值- Returns:
- 当前条件对象
-
andNotBetween
添加字段不在值区间内的判断- Parameters:
fn- 方法引用value1- 起始值value2- 结束值- Returns:
- 当前条件对象
-
andLike
条件添加字段模糊匹配的判断- Parameters:
useCondition- 是否启用条件fn- 方法引用value- 值- Returns:
- 当前条件对象
-
andLike
添加字段模糊匹配的判断- Parameters:
fn- 方法引用value- 值- Returns:
- 当前条件对象
-
andNotLike
条件添加字段非模糊匹配的判断- Parameters:
useCondition- 是否启用条件fn- 方法引用value- 值- Returns:
- 当前条件对象
-
andNotLike
添加字段非模糊匹配的判断- Parameters:
fn- 方法引用value- 值- Returns:
- 当前条件对象
-
andOr
public Criteria<T> andOr(OrCriteria<T> orCriteria1, OrCriteria<T> orCriteria2, OrCriteria<T>... orCriterias) 添加多个 OR 条件- Parameters:
orCriteria1- 第一个 OR 条件orCriteria2- 第二个 OR 条件orCriterias- 其他 OR 条件- Returns:
- 当前条件对象
-
andOr
添加 OR 条件列表- Parameters:
orCriteriaList- OR 条件列表- Returns:
- 当前条件对象
-
andCondition
条件添加自定义条件- Parameters:
useCondition- 是否启用条件condition- 自定义条件,如 length(name) < 5- Returns:
- 当前条件对象
-
andCondition
添加自定义条件- Parameters:
condition- 自定义条件,如 length(name) < 5- Returns:
- 当前条件对象
-
andCondition
条件添加自定义条件和值- Parameters:
useCondition- 是否启用条件condition- 自定义条件,如 length(name)=value- 值- Returns:
- 当前条件对象
-
andCondition
添加自定义条件和值- Parameters:
condition- 自定义条件,如 length(name)=value- 值,如 5- Returns:
- 当前条件对象
-
getCriteria
获取条件列表- Returns:
- 条件列表
-
isValid
public boolean isValid()判断条件是否有效- Returns:
- true 表示有效,false 表示无效
-