public class AbstractCondition<T> extends Object implements Condition<T>, Serializable
| 限定符和类型 | 字段和说明 |
|---|---|
protected Class<T> |
_class
类名
|
protected StringBuilder |
aggerateColumnBuilder
聚合函数
|
protected StringBuilder |
columnBuilder
列名
|
protected DataSource |
dataSource
数据源
|
protected String |
distinct |
protected StringBuilder |
groupByBuilder
分组
|
protected boolean |
hasDone
是否已经完成条件构建
|
protected StringBuilder |
havingBuilder
分组过滤
|
protected String |
limit
分页
|
protected StringBuilder |
orderByBuilder
排序
|
protected PageVo<T> |
pageVo |
protected int |
parameterIndex
存在当前待设置下标处
|
protected List |
parameterList
存放查询参数
|
protected StringBuilder |
setBuilder
字段更新
|
protected String |
sql
用于记录sql日志
|
protected StringBuilder |
sqlBuilder
构建sql语句
|
protected String |
tableName
表名
|
protected List |
updateParameterList
存放更新参数
|
protected StringBuilder |
whereBuilder
查询条件构建
|
| 构造器和说明 |
|---|
AbstractCondition(Class<T> _class,
DataSource dataSource) |
| 限定符和类型 | 方法和说明 |
|---|---|
Condition |
addAggerate(String aggerate,
String field)
添加聚合字段,默认别名为
Condition.getAggerateList()
用于getAggerateList()方法 |
Condition |
addAggerate(String aggerate,
String field,
String alias)
添加聚合字段
|
Condition |
addColumn(String field)
添加待查询字段,用于
Condition.getPartList() |
Condition |
addInQuery(String field,
List values)
添加范围查询语句
|
Condition |
addInQuery(String field,
Object[] values)
添加范围查询语句
|
Condition |
addInstanceQuery(Object instance)
添加实体属性查询
|
Condition |
addInstanceQuery(Object instance,
boolean userBasicDataType)
添加实体属性
|
protected void |
addJoinTableParameters(PreparedStatement ps)
添加外键查询参数
|
protected void |
addJoinTableStatement()
添加外键关联查询条件
|
protected void |
addMainTableParameters(PreparedStatement ps) |
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(com.alibaba.fastjson.JSONObject queryCondition)
添加自定义查询条件
|
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 |
addWhereStatement() |
protected void |
assureDone()
确保执行了done方法
|
AbstractCondition |
clone()
克隆该Condition对象
|
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()
返回符合条件的数据库记录
|
com.alibaba.fastjson.JSONArray |
getCompositArray()
返回符合条件的数据库记录,同时返回关联查询方法(
Condition.joinTable(Class, String, String))所关联的字段信息
注意:若未调用过joinTable方法,则该方法不会返回复杂对象字段信息 |
List<T> |
getCompositList()
返回符合条件的数据库记录,同时返回关联查询方法(
Condition.joinTable(Class, String, String))所关联的字段信息
注意:若未调用过joinTable方法,则该方法不会返回复杂对象字段信息 |
List<T> |
getList()
返回符合条件的数据库记录
|
PageVo<T> |
getPagingCompositList()
返回符合条件的数据库分页记录,同时返回关联查询方法(
Condition.joinTable(Class, String, String))所关联的字段信息
前置条件:请先调用Condition.page(int, int) 方法 |
PageVo<T> |
getPagingList()
返回符合条件的数据库分页记录
前置条件:请先调用
Condition.page(int, int) 方法 |
List<T> |
getPartList()
返回指定的部分字段的数据库记录
前置条件:请先调用
Condition.addColumn(String) |
<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() |
long |
update()
更新符合条件的记录
前置条件:请先调用
Condition.addUpdate(String, Object)方法 |
protected String distinct
protected StringBuilder columnBuilder
protected StringBuilder aggerateColumnBuilder
protected StringBuilder setBuilder
protected StringBuilder whereBuilder
protected StringBuilder groupByBuilder
protected StringBuilder havingBuilder
protected StringBuilder orderByBuilder
protected String limit
protected List parameterList
protected int parameterIndex
protected List updateParameterList
protected transient DataSource dataSource
protected StringBuilder sqlBuilder
protected String sql
protected String tableName
protected boolean hasDone
public AbstractCondition(Class<T> _class, DataSource dataSource)
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 addQuery(String field, String operator, Object value)
Conditionpublic Condition addInstanceQuery(Object instance)
ConditionaddInstanceQuery 在接口中 Condition<T>instance - 实体类实例public Condition addInstanceQuery(Object instance, boolean userBasicDataType)
ConditionaddInstanceQuery 在接口中 Condition<T>userBasicDataType - 是否使用基本属性类型进行查询public Condition addQuery(com.alibaba.fastjson.JSONObject queryCondition)
Conditionpublic 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()protected Condition done()
public long update()
Condition更新符合条件的记录
前置条件:请先调用Condition.addUpdate(String, Object)方法
public com.alibaba.fastjson.JSONArray getArray()
Conditionpublic PageVo<T> getPagingList()
Condition返回符合条件的数据库分页记录
前置条件:请先调用Condition.page(int, int) 方法
getPagingList 在接口中 Condition<T>public PageVo<T> getPagingCompositList()
Condition返回符合条件的数据库分页记录,同时返回关联查询方法(Condition.joinTable(Class, String, String))所关联的字段信息
前置条件:请先调用Condition.page(int, int) 方法
getPagingCompositList 在接口中 Condition<T>public List<T> getCompositList()
Condition返回符合条件的数据库记录,同时返回关联查询方法(Condition.joinTable(Class, String, String))所关联的字段信息
注意:若未调用过joinTable方法,则该方法不会返回复杂对象字段信息
getCompositList 在接口中 Condition<T>public com.alibaba.fastjson.JSONArray getCompositArray()
Condition返回符合条件的数据库记录,同时返回关联查询方法(Condition.joinTable(Class, String, String))所关联的字段信息
注意:若未调用过joinTable方法,则该方法不会返回复杂对象字段信息
getCompositArray 在接口中 Condition<T>public List<T> getPartList()
Condition返回指定的部分字段的数据库记录
前置条件:请先调用Condition.addColumn(String)
getPartList 在接口中 Condition<T>public <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 AbstractCondition clone() throws CloneNotSupportedException
Condition克隆该Condition对象
protected void addMainTableParameters(PreparedStatement ps) throws SQLException
SQLExceptionprotected void addJoinTableStatement()
protected void addWhereStatement()
protected void addJoinTableParameters(PreparedStatement ps) throws SQLException
SQLExceptionprotected void replaceParameter(Object parameter)
protected void assureDone()
Copyright © 2019. All rights reserved.