public interface Condition<T> extends Serializable
本接口定义单表查询接口,多表关联查询等方法
对于查询接口您需要知道以下几点
关联查询默认关联主表中唯一一个类型为子表的成员变量.
Parent{
long id;
}
Child{
long id;
long parentId;
Parent parent;
}
//关联Child类的唯一一个子表成员变量的parent属性
joinTable(Parent.class,"parentId","id").compositField();
若出现多个相同的子表成员变量,必须手动指定相应成员变量
Parent{
long id;
}
Child{
long id;
long fatherId;
long motherId;
Parent father;
Parent mother;
}
//关联多个时需要手动指定
joinTable(Parent.class,"fatherId","id","father").compositField();
joinTable(Parent.class,"motherId","id","mother").compositField();
若需返回关联实体字段,必须调用compositField方法
| 限定符和类型 | 方法和说明 |
|---|---|
Condition<T> |
addBetweenQuery(String field,
Object start,
Object end)
添加between语句
|
Condition<T> |
addColumn(Condition subQuery)
添加select子查询
|
Condition<T> |
addColumn(Condition subQuery,
String columnNameAlias)
添加select子查询
|
Condition<T> |
addColumn(String... fields)
添加自定义字段,具体映射规则请看Condition类的JavaDoc注释
|
Condition<T> |
addCompositeQuery(String field,
String value)
添加复杂集合查询
支持语法
empty: 空查询
not empty: 非空查询
like: like查询
not like: not like查询
in: in查询
not in: not in 查询
interval: 开闭区间查询
between: 范围查询
gt: 大于
gte: 大于等于
lt: 小于
lte: 小于等于
|
Condition<T> |
addEmptyQuery(String field)
添加空查询
|
Condition<T> |
addExcludeColumn(String... excludeFields)
排除指定字段
|
Condition<T> |
addExistSubQuery(Condition subQuery)
添加exist子查询
|
Condition<T> |
addInQuery(String field,
Collection values)
添加范围查询语句
|
Condition<T> |
addInQuery(String field,
Object... values)
添加范围查询语句
|
Condition<T> |
addInQuery(String field,
String inQuery)
添加范围查询语句
|
Condition<T> |
addIntervalQuery(String field,
String value)
添加开闭区间字段查询
|
Condition<T> |
addLikeQuery(String field,
Object value)
添加Like查询
|
Condition<T> |
addNotEmptyQuery(String field)
添加非空查询
|
Condition<T> |
addNotExistSubQuery(Condition subQuery)
添加not exist子查询
|
Condition<T> |
addNotInQuery(String field,
Collection values)
添加范围查询语句
|
Condition<T> |
addNotInQuery(String field,
Object... values)
添加范围查询语句
|
Condition<T> |
addNotInQuery(String field,
String inQuery)
添加范围查询语句
|
Condition<T> |
addNotLikeQuery(String field,
Object value)
添加Not Like查询
|
Condition<T> |
addNotNullQuery(String field)
添加非空查询
|
Condition<T> |
addNullQuery(String field)
添加空查询
|
Condition<T> |
addQuery(String field,
Object value)
添加字段查询
|
Condition<T> |
addQuery(String field,
String operator,
Object value)
添加字段查询
|
Condition<T> |
addRawQuery(String query,
Object... parameterList)
自定义查询语句,具体映射规则请看此
Condition |
Condition<T> |
addRawUpdate(String update,
Object... parameterList)
自定义更新语句
|
Condition<T> |
addSubQuery(String field,
Condition subQuery)
添加where子查询
|
Condition<T> |
addSubQuery(String field,
String operator,
Condition subQuery)
添加where子查询
|
Condition<T> |
addTableColumn()
添加主表字段
|
Condition<T> |
addUpdate(String field,
Object value)
添加更新字段,用于
Response.update()方法 |
Condition<T> |
clone()
执行并返回Response实例
|
Condition<T> |
compositeField()
返回子表实体类字段信息
|
<E> SubCondition<E,T> |
crossJoinTable(Class<E> clazz)
cross join 关联表,获取笛卡尔积
调用本方法时请先查看Condition类JavaDoc注释
|
SubCondition<?,T> |
crossJoinTable(String tableName)
cross join 关联表,获取笛卡尔积
调用本方法时请先查看Condition类JavaDoc注释
|
Condition<T> |
distinct()
添加distinct关键字
|
Response<T> |
execute()
执行并返回Response实例
|
Condition<T> |
groupBy(String... fields)
添加分组查询
|
Condition<T> |
having(String having,
Object... parameterList)
添加having查询
调用本方法时请先查看Condition类JavaDoc注释
|
Condition<T> |
having(String field,
String operator,
Condition subQuery)
添加having子查询
调用本方法时请先查看Condition类JavaDoc注释
|
<E> SubCondition<E,T> |
joinTable(Class<E> clazz,
String primaryField,
String joinTableField)
关联表查询
调用本方法时请先查看Condition类JavaDoc注释
|
<E> SubCondition<E,T> |
joinTable(Class<E> clazz,
String primaryField,
String joinTableField,
String compositField)
关联表查询
调用本方法时请先查看Condition类JavaDoc注释
|
<E> SubCondition<E,T> |
joinTable(Condition<E> joinCondition,
String primaryField,
String joinConditionField)
关联子查询
调用本方法时请先查看Condition类JavaDoc注释
调用本方法将在sql语句中拼接如下字符串
join #{condition子表} as t1 on t.primaryField = t1.joinTableField
|
SubCondition<?,T> |
joinTable(String tableName,
String primaryField,
String joinTableField)
关联表查询
调用本方法时请先查看Condition类JavaDoc注释
调用本方法将在sql语句中拼接如下字符串
join #{clazz} as t1 on t.primaryField = t1.joinTableField
|
LambdaCondition<T> |
lambdaCondition()
获取lambdaCondition对象
|
Condition<T> |
limit(long offset,
long limit)
分页操作
请注意,oracle数据库调用分页方法后请直接执行execute方法
|
Condition<T> |
or(String or,
Object... parameterList)
添加or查询,具体映射规则请看此
Condition |
Condition<T> |
order(String field,
String asc)
设置指定字段排序方式
|
Condition<T> |
orderBy(String... field)
根据指定字段升序排列
|
Condition<T> |
orderByDesc(String... field)
根据指定字段降序排列
|
Condition<T> |
orderByRaw(String orderBy)
手动指定排序
|
Condition<T> |
page(int pageNum,
int pageSize)
分页操作
请注意,oracle数据库调用分页方法后请直接执行execute方法
|
Condition<T> |
setColumnTypeMap(String columnLabel,
Class type)
设置返回列类型转换
|
Condition<T> |
setColumnTypeMapping(QueryColumnTypeMapping queryColumnTypeMapping)
设置返回列类型转换
|
Condition<T> |
tableAliasName(String tableAliasName)
设置主表别名
|
Condition<T> addInQuery(String field, String inQuery)
field - 字段名inQuery - 英文逗号隔开的字段值Condition<T> addInQuery(String field, Object... values)
field - 字段名values - 指明在该范围内的值Condition<T> addInQuery(String field, Collection values)
field - 字段名values - 指明在该范围内的值Condition<T> addNotInQuery(String field, String inQuery)
field - 字段名inQuery - 英文逗号隔开的字段值Condition<T> addNotInQuery(String field, Object... values)
field - 字段名values - 指明在不该范围内的值Condition<T> addNotInQuery(String field, Collection values)
field - 字段名values - 指明在不该范围内的值Condition<T> addBetweenQuery(String field, Object start, Object end)
field - 字段名start - 范围开始值end - 范围结束值Condition<T> addLikeQuery(String field, Object value)
field - 字段名value - 字段值Condition<T> addNotLikeQuery(String field, Object value)
field - 字段名value - 字段值Condition<T> addQuery(String field, String operator, Object value)
field - 字段名operator - 操作符,可为>,>=,=,<<=value - 字段值Condition<T> addIntervalQuery(String field, String value)
field - 字段名value - 区间值,例如(1,100)或者[1,100]Condition<T> addCompositeQuery(String field, String value)
支持语法 empty: 空查询 not empty: 非空查询 like: like查询 not like: not like查询 in: in查询 not in: not in 查询 interval: 开闭区间查询 between: 范围查询 gt: 大于 gte: 大于等于 lt: 小于 lte: 小于等于
field - 字段名value - 根据语法设置对应查询请求Condition<T> addRawQuery(String query, Object... parameterList)
Conditionquery - 子查询条件,可使用?占位符parameterList - 占位符参数列表,可为nullCondition<T> addSubQuery(String field, Condition subQuery)
field - 字段名subQuery - 子查询语句Condition<T> addSubQuery(String field, String operator, Condition subQuery)
field - 字段名operator - 操作符,可为>,>=,=,<<=subQuery - 子查询语句Condition<T> addNotExistSubQuery(Condition subQuery)
subQuery - 子查询语句Condition<T> addColumn(String... fields)
fields - 自定义查询列Condition<T> addExcludeColumn(String... excludeFields)
excludeFields - 指定主表排除字段Condition<T> setColumnTypeMapping(QueryColumnTypeMapping queryColumnTypeMapping)
queryColumnTypeMapping - 列类型转换函数,参数为列信息,返回列的类型Condition<T> setColumnTypeMap(String columnLabel, Class type)
columnLabel - 返回列名type - 类型Condition<T> addColumn(Condition subQuery, String columnNameAlias)
subQuery - 子查询columnNameAlias - 指定子查询返回列名的别名Condition<T> addUpdate(String field, Object value)
Response.update()方法field - 待更新的字段value - 待更新字段的值Condition<T> addRawUpdate(String update, Object... parameterList)
update - 更新语句,可使用?占位符parameterList - 占位符参数列表,可为nullCondition<T> or(String or, Object... parameterList)
Conditionor - or查询语句,可使用?占位符parameterList - 占位符参数值,无参数时可为nullCondition<T> having(String having, Object... parameterList)
调用本方法时请先查看Condition类JavaDoc注释
having - having查询子句,可使用?占位符parameterList - 占位符参数值ConditionCondition<T> having(String field, String operator, Condition subQuery)
调用本方法时请先查看Condition类JavaDoc注释
field - 字段名operator - 操作符,可为>,>=,=,<<=subQuery - 子查询语句<E> SubCondition<E,T> crossJoinTable(Class<E> clazz)
调用本方法时请先查看Condition类JavaDoc注释
clazz - 待关联的子表SubCondition<?,T> crossJoinTable(String tableName)
调用本方法时请先查看Condition类JavaDoc注释
tableName - 待关联的子表<E> SubCondition<E,T> joinTable(Class<E> clazz, String primaryField, String joinTableField)
调用本方法时请先查看Condition类JavaDoc注释
clazz - 待关联的子表primaryField - 主表关联字段joinTableField - 子表关联字段<E> SubCondition<E,T> joinTable(Class<E> clazz, String primaryField, String joinTableField, String compositField)
调用本方法时请先查看Condition类JavaDoc注释
clazz - 待关联的子表primaryField - 主表关联字段joinTableField - 子表关联字段compositField - 子表实体类成员变量名<E> SubCondition<E,T> joinTable(Condition<E> joinCondition, String primaryField, String joinConditionField)
调用本方法时请先查看Condition类JavaDoc注释
调用本方法将在sql语句中拼接如下字符串
join #{condition子表} as t1 on t.primaryField = t1.joinTableField
joinCondition - 关联ConditionprimaryField - 主表关联字段joinConditionField - 子查询关联字段SubCondition<?,T> joinTable(String tableName, String primaryField, String joinTableField)
调用本方法时请先查看Condition类JavaDoc注释
调用本方法将在sql语句中拼接如下字符串
join #{clazz} as t1 on t.primaryField = t1.joinTableField
tableName - 待关联的子表primaryField - 主表关联字段joinTableField - 子表关联字段Condition<T> order(String field, String asc)
field - 升序排列字段名asc - 排序方式,值为asc或者descCondition<T> limit(long offset, long limit)
offset - 偏移量limit - 返回个数Condition<T> page(int pageNum, int pageSize)
pageNum - 第几页pageSize - 每页个数Condition<T> compositeField()
cn.schoolwow.quickdao.dao.dql.condition.Condition#joinTable(Class, String, String)} ()},
cn.schoolwow.quickdao.dao.dql.condition.Condition#joinTable(Class, String, String, String)} ()}LambdaCondition<T> lambdaCondition()
Copyright © 2023. All rights reserved.