public class AbstractCondition<T> extends Object implements Condition<T>, Serializable
| 限定符和类型 | 字段和说明 |
|---|---|
protected PageVo<T> |
pageVo |
static String[] |
patterns |
protected Query |
query |
protected String |
sql
用于记录sql日志
|
protected SQLHelper |
sqlHelper
SQL语句帮助类
|
| 构造器和说明 |
|---|
AbstractCondition(Class<T> _class,
DataSource dataSource,
AbstractDAO abstractDAO,
SyntaxHandler syntaxHandler,
SQLHelper sqlHelper) |
| 限定符和类型 | 方法和说明 |
|---|---|
Condition |
addAggerate(String aggerate,
String field)
添加聚合字段,默认别名为
Condition.getAggerateList()
用于getAggerateList()方法 |
Condition |
addAggerate(String aggerate,
String field,
String alias)
添加聚合字段
|
Condition |
addBetweenQuery(String field,
Object start,
Object end)
添加between语句
|
Condition |
addColumn(String field)
添加待查询字段,用于
Condition.getPartList() |
Condition |
addInQuery(String field,
List values)
添加范围查询语句
|
Condition |
addInQuery(String field,
Object[] values)
添加范围查询语句
|
void |
addINQuery(String tableAliasName,
String field,
Object[] values,
String in) |
protected void |
addJoinTableParameters(PreparedStatement ps,
List<SubQuery> subQueryList)
添加外键查询参数
|
Condition |
addJSONObjectQuery(com.alibaba.fastjson.JSONObject queryCondition)
添加自定义查询条件
目前只支持关联一次外键查询
{ |
Condition |
addLikeQuery(String field,
Object value)
添加自定义查询条件
|
protected void |
addMainTableParameters(PreparedStatement ps,
List parameterList) |
Condition |
addNotEmptyQuery(String field)
添加非空查询
|
Condition |
addNotInQuery(String field,
List values)
添加范围查询语句
|
Condition |
addNotInQuery(String field,
Object[] values)
添加范围查询语句
|
Condition |
addNotNullQuery(String field)
添加非空查询
|
Condition |
addNullQuery(String field)
添加空查询
|
Condition |
addQuery(String query)
添加自定义查询条件
|
Condition |
addQuery(String field,
Object value)
添加字段查询
|
Condition |
addQuery(String field,
String operator,
Object value)
添加字段查询
|
Condition |
addUpdate(String field,
Object value)
添加更新字段,用于
Condition.update()方法 |
protected void |
assureDone()
确保执行了done方法
|
protected void |
assureUpdate()
确保执行addUpdate方法
|
AbstractCondition |
clone()
克隆该Condition对象
|
Condition |
compositField()
返回复杂字段
|
long |
count()
获取符合条件的总数目
|
long |
delete()
删除符合条件的数据库记录
|
Condition |
distinct()
添加distinct语句
|
protected Condition |
done() |
com.alibaba.fastjson.JSONArray |
getAggerateList()
返回聚合字段的数据库记录
前置条件:请先调用
Condition.addAggerate(String, String)
若调用了Condition.addColumn(String) 则会返回addColumn所指定的字段 |
com.alibaba.fastjson.JSONArray |
getArray()
返回符合条件的数据库记录
|
List<T> |
getList()
返回符合条件的数据库记录
|
T |
getOne()
获取符合条件的数据库记录的第一条
若无符合条件的数据库记录,返回Null
|
PageVo<T> |
getPagingList()
返回符合条件的数据库分页记录
前置条件:请先调用
Condition.page(int, int) 方法 |
List<T> |
getPartList()
返回指定的部分字段的数据库记录
前置条件:请先调用
Condition.addColumn(String) |
PageVo<T> |
getPartPagingList()
返回指定的部分字段的数据库记录
前置条件:请先调用
Condition.addColumn(String) |
List<T> |
getUnionAllList()
union链接查询
|
PageVo<T> |
getUnionAllPagingList()
union链接查询
|
List<T> |
getUnionList()
union链接查询
|
PageVo<T> |
getUnionPagingList()
union链接查询
|
<E> List<E> |
getValueList(Class<E> _class,
String column)
返回指定单个字段的集合
|
Condition |
groupBy(String field)
添加分组查询
|
<T> SubCondition<T> |
joinTable(Class<T> _class,
String primaryField,
String joinTableField)
关联表
主表,默认别名为t(即query方法传递的类对象)
子表,第一次调用JoinTable方法关联的表别名为t1,第二个为t2,以此类推
|
<T> SubCondition<T> |
joinTable(Class<T> _class,
String primaryField,
String joinTableField,
String compositField)
关联表
主表,默认别名为t(即query方法传递的类对象)
子表,第一次调用JoinTable方法关联的表别名为t1,第二个为t2,以此类推
|
Condition |
limit(long offset,
long limit)
分页操作
|
Condition |
orderBy(String field)
根据指定字段升序排列
|
Condition |
orderByDesc(String field)
根据指定字段降序排列
|
Condition |
page(int pageNum,
int pageSize)
分页操作
|
protected void |
replaceParameter(Object parameter)
替换查询参数
|
String |
toString() |
Condition |
union(Condition condition)
联合查询
|
long |
update()
更新符合条件的记录
前置条件:请先调用
Condition.addUpdate(String, Object)方法 |
public static String[] patterns
protected transient SQLHelper sqlHelper
protected transient String sql
protected Query query
public AbstractCondition(Class<T> _class, DataSource dataSource, AbstractDAO abstractDAO, SyntaxHandler syntaxHandler, SQLHelper sqlHelper)
public Condition addNullQuery(String field)
ConditionaddNullQuery 在接口中 Condition<T>field - 指明哪个字段为Nullpublic Condition addNotNullQuery(String field)
ConditionaddNotNullQuery 在接口中 Condition<T>field - 指明哪个字段不为Nullpublic Condition addNotEmptyQuery(String field)
ConditionaddNotEmptyQuery 在接口中 Condition<T>field - 指明哪个字段不为空字符串public Condition addInQuery(String field, Object[] values)
ConditionaddInQuery 在接口中 Condition<T>field - 字段values - 指明在该范围内的值public Condition addInQuery(String field, List values)
ConditionaddInQuery 在接口中 Condition<T>field - 字段values - 指明在该范围内的值public Condition addNotInQuery(String field, Object[] values)
ConditionaddNotInQuery 在接口中 Condition<T>field - 字段values - 指明在不该范围内的值public Condition addNotInQuery(String field, List values)
ConditionaddNotInQuery 在接口中 Condition<T>field - 字段values - 指明在不该范围内的值public Condition addBetweenQuery(String field, Object start, Object end)
ConditionaddBetweenQuery 在接口中 Condition<T>field - 字段start - 范围开始值end - 范围结束值public Condition addLikeQuery(String field, Object value)
ConditionaddLikeQuery 在接口中 Condition<T>field - 指明字段value - 字段值public Condition addQuery(String field, String operator, Object value)
Conditionpublic Condition addJSONObjectQuery(com.alibaba.fastjson.JSONObject queryCondition)
Condition目前只支持关联一次外键查询
{
{field}:{value},字段查询
{field}Start:{value},添加大于等于查询
{field}End:{value},添加小于等于查询
{field}IN:[array],添加IN查询
{field}NOTNULL:{value},添加not null查询
{field}NULL:{value},添加null查询
_orderBy:{value},升序排列
_orderByDesc:{value},降序排列
_pageNumber:{value},页码
_pageSize:{value},每页个数
//关联查询部分
_joinTables:[
{
_class:{className} 关联类,例如top.cqscrb.courage.entity.User
_primaryField:{primaryField} 主表关联字段
_joinTableField:{joinTableField} 子表关联字段
{field}:{value},字段查询
{field}Start:{value},添加大于等于查询
{field}End:{value},添加小于等于查询
{field}IN:[array],添加IN查询
{field}NOTNULL:{value},添加not null查询
{field}NULL:{value},添加null查询
_orderBy:{value},升序排列
_orderByDesc:{value},降序排列
_joinTables:[...]
}
]
}
addJSONObjectQuery 在接口中 Condition<T>public Condition addUpdate(String field, Object value)
ConditionCondition.update()方法public Condition addAggerate(String aggerate, String field)
Condition添加聚合字段,默认别名为Condition.getAggerateList()
用于getAggerateList()方法
addAggerate 在接口中 Condition<T>aggerate - COUNT,SUM,MAX,MIN,AVGfield - 字段名public Condition addAggerate(String aggerate, String field, String alias)
ConditionaddAggerate 在接口中 Condition<T>aggerate - COUNT,SUM,MAX,MIN,AVGfield - 字段名alias - 聚合字段别名public <T> SubCondition<T> joinTable(Class<T> _class, String primaryField, String joinTableField)
Condition主表,默认别名为t(即query方法传递的类对象)
子表,第一次调用JoinTable方法关联的表别名为t1,第二个为t2,以此类推
public <T> SubCondition<T> joinTable(Class<T> _class, String primaryField, String joinTableField, String compositField)
Condition主表,默认别名为t(即query方法传递的类对象)
子表,第一次调用JoinTable方法关联的表别名为t1,第二个为t2,以此类推
public Condition orderByDesc(String field)
ConditionorderByDesc 在接口中 Condition<T>field - 降序排列字段名public Condition addColumn(String field)
ConditionCondition.getPartList()public Condition compositField()
ConditioncompositField 在接口中 Condition<T>protected Condition done()
public long update()
Condition更新符合条件的记录
前置条件:请先调用Condition.addUpdate(String, Object)方法
public com.alibaba.fastjson.JSONArray getArray()
Conditionpublic <E> List<E> getValueList(Class<E> _class, String column)
Condition返回指定单个字段的集合
getValueList 在接口中 Condition<T>_class - 返回字段类型column - 待返回的字段public com.alibaba.fastjson.JSONArray getAggerateList()
Condition返回聚合字段的数据库记录
前置条件:请先调用Condition.addAggerate(String, String)
若调用了Condition.addColumn(String) 则会返回addColumn所指定的字段
getAggerateList 在接口中 Condition<T>public List<T> getPartList()
Condition返回指定的部分字段的数据库记录
前置条件:请先调用Condition.addColumn(String)
getPartList 在接口中 Condition<T>public PageVo<T> getPagingList()
Condition返回符合条件的数据库分页记录
前置条件:请先调用Condition.page(int, int) 方法
getPagingList 在接口中 Condition<T>public PageVo<T> getPartPagingList()
Condition返回指定的部分字段的数据库记录
前置条件:请先调用Condition.addColumn(String)
getPartPagingList 在接口中 Condition<T>public List<T> getUnionList()
ConditiongetUnionList 在接口中 Condition<T>public List<T> getUnionAllList()
ConditiongetUnionAllList 在接口中 Condition<T>public PageVo<T> getUnionPagingList()
ConditiongetUnionPagingList 在接口中 Condition<T>public PageVo<T> getUnionAllPagingList()
ConditiongetUnionAllPagingList 在接口中 Condition<T>public AbstractCondition clone()
Condition克隆该Condition对象
protected void addMainTableParameters(PreparedStatement ps, List parameterList) throws SQLException
SQLExceptionprotected void addJoinTableParameters(PreparedStatement ps, List<SubQuery> subQueryList) throws SQLException
SQLExceptionprotected void replaceParameter(Object parameter)
protected void assureDone()
protected void assureUpdate()
Copyright © 2019. All rights reserved.