public class GenericWhereCondition extends WhereCondition
| 限定符和类型 | 字段和说明 |
|---|---|
protected Map<String,String> |
aliasTableMap |
protected StringBuilder |
condition |
protected String |
dataSourceName |
protected boolean |
isFirstBuild |
protected ParameterBinder |
parameterBinder |
protected Version |
version |
| 构造器和说明 |
|---|
GenericWhereCondition(Version version,
Map<String,String> aliasTableMap,
String dataSourceName) |
protected final Version version
protected final StringBuilder condition
protected final ParameterBinder parameterBinder
protected String dataSourceName
protected boolean isFirstBuild
public <T,F> FunctionCondition andEqualTo(Fn<T,F> fn, ColumFunction columFunction)
public FunctionCondition andEqualTo(Object value, ColumFunction columFunction)
public <T,F> FunctionCondition orEqualTo(Fn<T,F> fn, ColumFunction columFunction)
public FunctionCondition orEqualTo(Object value, ColumFunction columFunction)
public <T,F> FunctionCondition andNotEqualTo(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition orNotEqualTo(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition andGreaterThan(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition orGreaterThan(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition andGreaterThanOrEqualTo(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition orGreaterThanOrEqualTo(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition andLessThan(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition orLessThan(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition andLessThanOrEqualTo(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition orLessThanOrEqualTo(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition andIn(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition orIn(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition andNotIn(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition orNotIn(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition andMatches(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition orMatches(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition andFindInSet(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> FunctionCondition orFindInSet(Fn<T,F> fn, ColumFunction columFunction)
public <T,F> NestedCondition andEqualTo(Fn<T,F> fn, Consumer<AbstractColumnReference> nestedSelect)
public <T,F> NestedCondition orEqualTo(Fn<T,F> fn, Consumer<AbstractColumnReference> nestedSelect)
public <T,F> NestedCondition andNotEqualTo(Fn<T,F> fn, Consumer<AbstractColumnReference> nestedSelect)
public <T,F> NestedCondition orNotEqualTo(Fn<T,F> fn, Consumer<AbstractColumnReference> nestedSelect)
public <T,F> NestedCondition andGreaterThan(Fn<T,F> fn, Consumer<AbstractColumnReference> nestedSelect)
public <T,F> NestedCondition orGreaterThan(Fn<T,F> fn, Consumer<AbstractColumnReference> nestedSelect)
public <T,F> NestedCondition andGreaterThanOrEqualTo(Fn<T,F> fn, Consumer<AbstractColumnReference> nestedSelect)
public <T,F> NestedCondition orGreaterThanOrEqualTo(Fn<T,F> fn, Consumer<AbstractColumnReference> nestedSelect)
public <T,F> NestedCondition andLessThan(Fn<T,F> fn, Consumer<AbstractColumnReference> nestedSelect)
public <T,F> NestedCondition orLessThan(Fn<T,F> fn, Consumer<AbstractColumnReference> nestedSelect)
public <T,F> NestedCondition andLessThanOrEqualTo(Fn<T,F> fn, Consumer<AbstractColumnReference> nestedSelect)
public <T,F> NestedCondition orLessThanOrEqualTo(Fn<T,F> fn, Consumer<AbstractColumnReference> nestedSelect)
public <T,F> NestedCondition andIn(Fn<T,F> fn, Consumer<AbstractColumnReference> nestedSelect)
public <T,F> NestedCondition orIn(Fn<T,F> fn, Consumer<AbstractColumnReference> nestedSelect)
public <T,F> NestedCondition andNotIn(Fn<T,F> fn, Consumer<AbstractColumnReference> nestedSelect)
public <T,F> NestedCondition orNotIn(Fn<T,F> fn, Consumer<AbstractColumnReference> nestedSelect)
public NestedCondition andExists(Consumer<AbstractColumnReference> nestedSelect)
public NestedCondition orExists(Consumer<AbstractColumnReference> nestedSelect)
public NestedCondition andNotExists(Consumer<AbstractColumnReference> nestedSelect)
public NestedCondition orNotExists(Consumer<AbstractColumnReference> nestedSelect)
public Condition andCondition(Consumer<Condition> nestedCondition)
Condition
该方法允许将一组条件作为当前条件的子条件进行添加,并且将它们合并为一个结果。
其中传入的 Consumer 对象接受一个 Condition 实例,
用于设置嵌套的条件组合。
例如:
condition.andCondition(nestedCondition -> {
nestedCondition.andEqualTo(SomeClass::getA, 1);
nestedCondition.orCondition(innerCondition -> {
innerCondition.andEqualTo(SomeClass::getB, 2);
innerCondition.orEqualTo(SomeClass::getC, 2);
});
});
public Condition orCondition(Consumer<Condition> nestedCondition)
Conditionpublic <T,F> Condition andEqualTo(Fn<T,F> fn, Object value)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数value - 匹配的值public <T1,T2,F> Condition andEqualTo(Fn<T1,F> field1, Fn<T2,F> field2)
Condition
on.andEqualTo(Student::getClassId, Class::getId);
这将会生成 SQL 中的 "ON Student.classId = Class.id" 条件。T1 - 第一个实体类类型T2 - 第二个实体类类型F - 字段类型field1 - 第一个字段,来自第一个实体类field2 - 第二个字段,来自第二个实体类Condition 实例,以便实现链式调用public <T,F> Condition orEqualTo(Fn<T,F> fn, Object value)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数value - 匹配的值public <T1,T2,F> Condition orEqualTo(Fn<T1,F> field1, Fn<T2,F> field2)
ConditionT1 - 实体类类型1T2 - 实体类类型2F - 字段类型field1 - 用于获取第一个字段值的函数field2 - 用于获取第二个字段值的函数Condition 实例public <T,F> Condition andNotEqualTo(Fn<T,F> fn, Object value)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数value - 匹配的值public <T1,T2,F> Condition andNotEqualTo(Fn<T1,F> field1, Fn<T2,F> field2)
ConditionT1 - 实体类类型1T2 - 实体类类型2F - 字段类型field1 - 用于获取第一个字段值的函数field2 - 用于获取第二个字段值的函数Condition 实例public <T,F> Condition orNotEqualTo(Fn<T,F> fn, Object value)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数value - 匹配的值public <T1,T2,F> Condition orNotEqualTo(Fn<T1,F> field1, Fn<T2,F> field2)
ConditionT1 - 实体类类型1T2 - 实体类类型2F - 字段类型field1 - 用于获取第一个字段值的函数field2 - 用于获取第二个字段值的函数Condition 实例public <T,F> Condition andIsNull(Fn<T,F> fn)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数public <T,F> Condition orIsNull(Fn<T,F> fn)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数public <T,F> Condition andIsNotNull(Fn<T,F> fn)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数public <T,F> Condition orIsNotNull(Fn<T,F> fn)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数public <T,F> Condition andGreaterThan(Fn<T,F> fn, Object value)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数value - 匹配的值public <T1,T2,F> Condition andGreaterThan(Fn<T1,F> field1, Fn<T2,F> field2)
ConditionT1 - 实体类类型1T2 - 实体类类型2F - 字段类型field1 - 用于获取第一个字段值的函数field2 - 用于获取第二个字段值的函数Condition 实例public <T,F> Condition orGreaterThan(Fn<T,F> fn, Object value)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数value - 匹配的值public <T1,T2,F> Condition orGreaterThan(Fn<T1,F> field1, Fn<T2,F> field2)
ConditionT1 - 实体类类型1T2 - 实体类类型2F - 字段类型field1 - 用于获取第一个字段值的函数field2 - 用于获取第二个字段值的函数Condition 实例public <T,F> Condition andGreaterThanOrEqualTo(Fn<T,F> fn, Object value)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数value - 匹配的值public <T1,T2,F> Condition andGreaterThanOrEqualTo(Fn<T1,F> field1, Fn<T2,F> field2)
ConditionT1 - 实体类类型1T2 - 实体类类型2F - 字段类型field1 - 用于获取第一个字段值的函数field2 - 用于获取第二个字段值的函数Condition 实例public <T,F> Condition orGreaterThanOrEqualTo(Fn<T,F> fn, Object value)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数value - 匹配的值public <T1,T2,F> Condition orGreaterThanOrEqualTo(Fn<T1,F> field1, Fn<T2,F> field2)
ConditionT1 - 实体类类型1T2 - 实体类类型2F - 字段类型field1 - 用于获取第一个字段值的函数field2 - 用于获取第二个字段值的函数Condition 实例public <T,F> Condition andLessThan(Fn<T,F> fn, Object value)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数value - 匹配的值public <T1,T2,F> Condition andLessThan(Fn<T1,F> field1, Fn<T2,F> field2)
ConditionT1 - 实体类类型1T2 - 实体类类型2F - 字段类型field1 - 用于获取第一个字段值的函数field2 - 用于获取第二个字段值的函数Condition 实例public <T,F> Condition orLessThan(Fn<T,F> fn, Object value)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数value - 匹配的值public <T1,T2,F> Condition orLessThan(Fn<T1,F> field1, Fn<T2,F> field2)
ConditionT1 - 实体类类型1T2 - 实体类类型2F - 字段类型field1 - 用于获取第一个字段值的函数field2 - 用于获取第二个字段值的函数Condition 实例public <T,F> Condition andLessThanOrEqualTo(Fn<T,F> fn, Object value)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数value - 匹配的值public <T1,T2,F> Condition andLessThanOrEqualTo(Fn<T1,F> field1, Fn<T2,F> field2)
ConditionT1 - 实体类类型1T2 - 实体类类型2F - 字段类型field1 - 用于获取第一个字段值的函数field2 - 用于获取第二个字段值的函数Condition 实例public <T,F> Condition orLessThanOrEqualTo(Fn<T,F> fn, Object value)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数value - 匹配的值public <T1,T2,F> Condition orLessThanOrEqualTo(Fn<T1,F> field1, Fn<T2,F> field2)
ConditionT1 - 实体类类型1T2 - 实体类类型2F - 字段类型field1 - 用于获取第一个字段值的函数field2 - 用于获取第二个字段值的函数Condition 实例public <T,F> Condition andIn(Fn<T,F> fn, Iterable<?> values)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数values - 匹配的值集合public <T,F> Condition orIn(Fn<T,F> fn, Iterable<?> values)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数values - 匹配的值集合public <T,F> Condition andNotIn(Fn<T,F> fn, Iterable<?> values)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数values - 匹配的值集合public <T,F> Condition orNotIn(Fn<T,F> fn, Iterable<?> values)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数values - 匹配的值集合public <T,F> Condition andBetween(Fn<T,F> fn, Object start, Object end)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数start - 范围起始值end - 范围结束值public <T1,T2,F> Condition andBetween(Fn<T1,F> field1, Fn<T2,F> startField, Fn<T2,F> endField)
Condition该方法用于构建一个 BETWEEN 连接条件,将指定字段的值与起始值和结束值之间的范围进行比较。 在调用此方法时,可以传入一个用于获取字段值的函数,以及两个用于获取起始值和结束值的函数。 这将生成一个 BETWEEN 条件,将其与当前条件组合使用。
例如,假设有两个表 `Order` 和 `Product`,可以使用此方法将 `Order` 表的某个字段与 `Product` 表中的起始和结束字段之间的范围进行比较:
condition.andBetween(
Order::getOrderDate, // Order 表的字段
Product::getStartDate, // Product 表中的起始字段
Product::getEndDate // Product 表中的结束字段
);
这将生成类似于以下 SQL 条件:
Order.orderDate BETWEEN Product.startDate AND Product.endDate
T1 - 实体类类型1,表示第一个表的实体类T2 - 实体类类型2,表示第二个表的实体类F - 字段类型,表示字段的数据类型field1 - 用于获取字段值的函数,表示要进行 BETWEEN 比较的字段startField - 用于获取起始值的函数,表示范围的起始值endField - 用于获取结束值的函数,表示范围的结束值Condition 实例,以便实现链式调用public <T,F> Condition orBetween(Fn<T,F> fn, Object start, Object end)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数start - 范围起始值end - 范围结束值public <T1,T2,F> Condition orBetween(Fn<T1,F> field1, Fn<T2,F> startField, Fn<T2,F> endField)
ConditionT1 - 实体类类型1T2 - 实体类类型2F - 字段类型field1 - 用于获取字段值的函数startField - 用于获取起始值的函数endField - 用于获取结束值的函数Condition 实例this#andBetween(Fn, Fn, Fn)public <T,F> Condition andNotBetween(Fn<T,F> fn, Object start, Object end)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数start - 范围起始值end - 范围结束值public <T,F> Condition orNotBetween(Fn<T,F> fn, Object start, Object end)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数start - 范围起始值end - 范围结束值public <T,F> Condition andLike(Fn<T,F> fn, String pattern)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数pattern - 匹配的模式(如 SQL 的 LIKE 子句)public <T,F> Condition orLike(Fn<T,F> fn, String pattern)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数pattern - 匹配的模式(如 SQL 的 LIKE 子句)public <T,F> Condition andNotLike(Fn<T,F> fn, String pattern)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数pattern - 匹配的模式(如 SQL 的 LIKE 子句)public <T,F> Condition orNotLike(Fn<T,F> fn, String pattern)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数pattern - 匹配的模式(如 SQL 的 LIKE 子句)public <T,F> Condition andMatches(Fn<T,F> fn, String regex)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数regex - 正则表达式模式public <T,F> Condition orMatches(Fn<T,F> fn, String regex)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数regex - 正则表达式模式public <T,F> Condition andFindInSet(Fn<T,F> fn, Object item)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数item - 指定的项目public <T,F> Condition orFindInSet(Fn<T,F> fn, Object item)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数item - 指定的项目public <T,F> Condition andFindInSet(Fn<T,F> fn, Object item, String separator)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数item - 指定的项目separator - 分隔符public <T,F> Condition orFindInSet(Fn<T,F> fn, Object item, String separator)
ConditionT - 实体类类型F - 字段类型fn - 用于获取字段值的函数item - 指定的项目separator - 分隔符public Condition limit(int offset, int limit)
Conditionoffset - 需要跳过的行数limit - 返回的最大行数public Condition limit(int limit)
Conditionlimit - 返回的最大行数public String getWhereConditionSyntax()
public ParameterBinder getParameterBinder()
protected String logicalOperatorType(LogicalOperatorType logicalOperatorType)
protected String logicalOperatorType(LogicalOperatorType logicalOperatorType, SqlDialect sqlDialect)
public HavingCondition andEqualTo(AggregateFunction function, Object value)
public HavingCondition andEqualTo(AggregateFunction function, Consumer<AbstractColumnReference> nestedSelect)
public HavingCondition orEqualTo(AggregateFunction function, Object value)
public HavingCondition orEqualTo(AggregateFunction function, Consumer<AbstractColumnReference> nestedSelect)
public HavingCondition andNotEqualTo(AggregateFunction function, Object value)
public HavingCondition andNotEqualTo(AggregateFunction function, Consumer<AbstractColumnReference> nestedSelect)
public HavingCondition orNotEqualTo(AggregateFunction function, Object value)
public HavingCondition orNotEqualTo(AggregateFunction function, Consumer<AbstractColumnReference> nestedSelect)
public HavingCondition andGreaterThan(AggregateFunction function, Object value)
public HavingCondition andGreaterThan(AggregateFunction function, Consumer<AbstractColumnReference> nestedSelect)
public HavingCondition orGreaterThan(AggregateFunction function, Object value)
public HavingCondition orGreaterThan(AggregateFunction function, Consumer<AbstractColumnReference> nestedSelect)
public HavingCondition andGreaterThanOrEqualTo(AggregateFunction function, Object value)
public HavingCondition andGreaterThanOrEqualTo(AggregateFunction function, Consumer<AbstractColumnReference> nestedSelect)
public HavingCondition orGreaterThanOrEqualTo(AggregateFunction function, Object value)
public HavingCondition orGreaterThanOrEqualTo(AggregateFunction function, Consumer<AbstractColumnReference> nestedSelect)
public HavingCondition andLessThan(AggregateFunction function, Object value)
public HavingCondition andLessThan(AggregateFunction function, Consumer<AbstractColumnReference> nestedSelect)
public HavingCondition orLessThan(AggregateFunction function, Object value)
public HavingCondition orLessThan(AggregateFunction function, Consumer<AbstractColumnReference> nestedSelect)
public HavingCondition andLessThanOrEqualTo(AggregateFunction function, Object value)
public HavingCondition andLessThanOrEqualTo(AggregateFunction function, Consumer<AbstractColumnReference> nestedSelect)
public HavingCondition orLessThanOrEqualTo(AggregateFunction function, Object value)
public HavingCondition orLessThanOrEqualTo(AggregateFunction function, Consumer<AbstractColumnReference> nestedSelect)
public HavingCondition andIn(AggregateFunction function, Iterable<?> values)
public HavingCondition andIn(AggregateFunction function, Consumer<AbstractColumnReference> nestedSelect)
public HavingCondition orIn(AggregateFunction function, Iterable<?> values)
public HavingCondition orIn(AggregateFunction function, Consumer<AbstractColumnReference> nestedSelect)
public HavingCondition andNotIn(AggregateFunction function, Iterable<?> values)
public HavingCondition andNotIn(AggregateFunction function, Consumer<AbstractColumnReference> nestedSelect)
public HavingCondition orNotIn(AggregateFunction function, Iterable<?> values)
public HavingCondition orNotIn(AggregateFunction function, Consumer<AbstractColumnReference> nestedSelect)
public HavingCondition andBetween(AggregateFunction function, Object start, Object end)
public HavingCondition orBetween(AggregateFunction function, Object start, Object end)
public HavingCondition andNotBetween(AggregateFunction function, Object start, Object end)
public HavingCondition orNotBetween(AggregateFunction function, Object start, Object end)
protected String executeFunctionToString(AggregateFunction function)
protected SqlDialect sqlDialect()
Copyright © 2024 Dynamic-SQL. All rights reserved.