| 限定符和类型 | 字段和说明 |
|---|---|
static String[] |
patterns |
Query |
query |
mainTableAlias| 构造器和说明 |
|---|
AbstractCondition(Query query) |
| 限定符和类型 | 方法和说明 |
|---|---|
Condition<T> |
addAggerate(String aggerate,
String field)
添加聚合字段,用于
Response.getAggerateList()
默认返回字段名为aggerate(field) |
Condition<T> |
addAggerate(String aggerate,
String field,
String alias)
添加聚合字段,用于
Response.getAggerateList() |
Condition<T> |
addBetweenQuery(String field,
Object start,
Object end)
添加between语句
|
Condition<T> |
addColumn(String field)
部分查询,用于
Response.getPartList() |
Condition<T> |
addColumns(String[] fields)
部分查询,用于
Response.getPartList() |
Condition<T> |
addEmptyQuery(String field)
添加空查询
|
Condition<T> |
addInQuery(String field,
List values)
添加范围查询语句
|
Condition<T> |
addInQuery(String field,
Object[] values)
添加范围查询语句
|
Condition<T> |
addJSONObjectQuery(com.alibaba.fastjson.JSONObject queryCondition)
添加自定义查询条件
{ |
Condition<T> |
addLikeQuery(String field,
Object value)
添加Like查询
|
Condition<T> |
addNotEmptyQuery(String field)
添加非空查询
|
Condition<T> |
addNotInQuery(String field,
List values)
添加范围查询语句
|
Condition<T> |
addNotInQuery(String field,
Object[] values)
添加范围查询语句
|
Condition<T> |
addNotNullQuery(String field)
添加非空查询
|
Condition<T> |
addNullQuery(String field)
添加空查询
|
Condition<T> |
addQuery(String query)
添加自定义查询条件
调用此方法您需要知道以下几点
实体类字段使用驼峰式命名映射到数据库中.例如字段firstName映射到数据库后字段名为first_name
对于所有的查询语句,主表别名为t,使用join方法添加的表按照添加顺序依次为t1,t2,t3......
|
Condition<T> |
addQuery(String field,
Object value)
添加字段查询
|
Condition<T> |
addQuery(String field,
String operator,
Object value)
添加字段查询
|
Condition<T> |
addSpecialColumn(String field)
自定义查询列,用于
Response.getPartList() |
Condition<T> |
addSpecialColumns(String[] fields)
自定义查询列,用于
Response.getPartList() |
Condition<T> |
addUpdate(String field,
Object value)
添加更新字段,用于
Response.update()方法 |
Condition<T> |
compositField()
返回子表实体类字段信息
|
Condition<T> |
distinct()
添加distinct关键字
|
Condition<T> |
excludeColumn(String field)
排除部分字段,用于
Response.getPartList() |
Condition<T> |
excludeColumn(String[] fields)
排除部分字段,用于
Response.getPartList() |
Response<T> |
execute()
执行并返回Response实例
|
String |
getUniqueCompositFieldInMainClass(Class mainClass,
Class fieldClass)
找到子表中唯一一个类型为主表的成员变量名
|
Condition<T> |
groupBy(String field)
添加分组查询
|
Condition<T> |
groupBy(String[] fields)
添加分组查询
|
SubCondition |
joinTable(Class clazz,
String primaryField,
String joinTableField)
关联表查询
主表,表别名为t
子表,依据关联顺序别名依次为t1,t2,t3......
|
SubCondition |
joinTable(Class clazz,
String primaryField,
String joinTableField,
String compositField)
关联表查询
主表,表别名为t
子表,依据关联顺序别名依次为t1,t2,t3......
|
Condition<T> |
limit(long offset,
long limit)
分页操作
|
Condition<T> |
or()
添加Or查询条件
|
Condition<T> |
orderBy(String field)
根据指定字段升序排列
|
Condition<T> |
orderByDesc(String field)
根据指定字段降序排列
|
Condition<T> |
page(int pageNum,
int pageSize)
分页操作
|
Condition<T> |
union(Condition<T> condition)
添加联合查询,需确保返回字段个数和含义一致
默认union类型为 union
|
Condition<T> |
union(Condition<T> condition,
UnionType unionType)
添加联合查询,需确保返回字段个数和含义一致
|
public AbstractCondition(Query query)
public Condition<T> addNullQuery(String field)
ConditionaddNullQuery 在接口中 Condition<T>field - 指明哪个字段为Nullpublic Condition<T> addNotNullQuery(String field)
ConditionaddNotNullQuery 在接口中 Condition<T>field - 指明哪个字段不为Nullpublic Condition<T> addEmptyQuery(String field)
ConditionaddEmptyQuery 在接口中 Condition<T>field - 指明哪个字段不为空字符串public Condition<T> addNotEmptyQuery(String field)
ConditionaddNotEmptyQuery 在接口中 Condition<T>field - 指明哪个字段不为空字符串public Condition<T> addInQuery(String field, Object[] values)
ConditionaddInQuery 在接口中 Condition<T>field - 字段名values - 指明在该范围内的值public Condition<T> addInQuery(String field, List values)
ConditionaddInQuery 在接口中 Condition<T>field - 字段名values - 指明在该范围内的值public Condition<T> addNotInQuery(String field, Object[] values)
ConditionaddNotInQuery 在接口中 Condition<T>field - 字段名values - 指明在不该范围内的值public Condition<T> addNotInQuery(String field, List values)
ConditionaddNotInQuery 在接口中 Condition<T>field - 字段名values - 指明在不该范围内的值public Condition<T> addBetweenQuery(String field, Object start, Object end)
ConditionaddBetweenQuery 在接口中 Condition<T>field - 字段名start - 范围开始值end - 范围结束值public Condition<T> addLikeQuery(String field, Object value)
ConditionaddLikeQuery 在接口中 Condition<T>field - 字段名value - 字段值public Condition<T> addQuery(String query)
Condition调用此方法您需要知道以下几点
public Condition<T> addQuery(String field, String operator, Object value)
Conditionpublic Condition<T> addJSONObjectQuery(com.alibaba.fastjson.JSONObject queryCondition)
Condition
{
{field}:{value},字段查询
{field}Start:{value},添加大于等于查询
{field}End:{value},添加小于等于查询
{field}LIKE:[array],添加Like查询
{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<T> union(Condition<T> condition)
Conditionpublic Condition<T> union(Condition<T> condition, UnionType unionType)
Conditionpublic Condition<T> addUpdate(String field, Object value)
ConditionResponse.update()方法public Condition<T> addAggerate(String aggerate, String field)
Condition添加聚合字段,用于Response.getAggerateList()
默认返回字段名为aggerate(field)
addAggerate 在接口中 Condition<T>aggerate - 聚合函数,例如COUNT,SUM,MAX,MIN,AVGfield - 字段名public Condition<T> addAggerate(String aggerate, String field, String alias)
Condition添加聚合字段,用于Response.getAggerateList()
addAggerate 在接口中 Condition<T>aggerate - COUNT,SUM,MAX,MIN,AVGfield - 字段名alias - 聚合字段别名public SubCondition joinTable(Class clazz, String primaryField, String joinTableField)
Condition调用本方法将在sql语句中拼接如下字符串 join #{clazz} as t1 on t.primaryField = t1.joinTableField
本方法默认关联主表中唯一一个类型为子表的成员变量,若出现多个相同的子表成员变量,则会抛出异常.例如以下代码:
Parent{
long id;
}
Child{
long id;
long parentId;
Parent parent;
}
joinTable(Parent.class,"parentId","id");
本方法会自动关联Child类的唯一一个子表成员变量的parent属性
注意:需要返回关联实体类字段时,需要调用Condition.compositField()方法才会返回关联实体类对象
public SubCondition joinTable(Class clazz, String primaryField, String joinTableField, String compositField)
Condition调用本方法将在sql语句中拼接如下字符串 join #{clazz} as t1 on t.primaryField = t1.joinTableField
本方法用于手动指定需要关联的子表实体类成员变量名.当出现多个相同的子表成员变量,需要手动指定关联实体类成员变量.例如以下代码:
Parent{
long id;
}
Child{
long id;
long fatherId;
long motherId;
Parent father;
Parent mother;
}
joinTable(Parent.class,"fatherId","id","father");
joinTable(Parent.class,"motherId","id","mother");
注意:需要返回关联实体类字段时,需要调用Condition.compositField()方法才会返回关联实体类对象
public Condition<T> orderByDesc(String field)
ConditionorderByDesc 在接口中 Condition<T>field - 降序排列字段名public Condition<T> addColumn(String field)
ConditionResponse.getPartList()public Condition<T> addColumns(String[] fields)
ConditionResponse.getPartList()addColumns 在接口中 Condition<T>fields - 待返回字段名数组public Condition<T> excludeColumn(String field)
ConditionResponse.getPartList()excludeColumn 在接口中 Condition<T>field - 待返回字段名数组public Condition<T> excludeColumn(String[] fields)
ConditionResponse.getPartList()excludeColumn 在接口中 Condition<T>fields - 待返回字段名数组public Condition<T> addSpecialColumn(String field)
ConditionResponse.getPartList()addSpecialColumn 在接口中 Condition<T>field - 自定义查询列public Condition<T> addSpecialColumns(String[] fields)
ConditionResponse.getPartList()addSpecialColumns 在接口中 Condition<T>fields - 自定义查询列public Condition<T> compositField()
ConditioncompositField 在接口中 Condition<T>cn.schoolwow.quickdao.dao.condition.Condition#joinTable(Class, String, String)} ()},
cn.schoolwow.quickdao.dao.condition.Condition#joinTable(Class, String, String,String)} ()}Copyright © 2019. All rights reserved.