r(int index, boolean or) { relationList.set(index, or); } /** * 转化为字符串 */ public String toString() { if (EmptyUtils.isEmpty(conditionList)) { return EMPTY; } StrBuilder builder = new StrBuilder(); int size = conditionList.size(); for (int index = 0; index < size; index++) { if (index == 0) { builder.append(conditionList.get(index)); } else { builder.append(BLANK).append(isOr(relationList.get(index))) .append(BLANK).append(conditionList.get(index)); } } return builder.toString(); } }
package cn.fansunion.hibernate.sql.entity;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.text.StrBuilder;
import cn.fansunion.hibernate.sql.ConstantBase;
import cn.fansunion.hibernate.util.EmptyUtils;
/**
* 搜索条件(2个组之间,且|或。)
*
* @author LeiWen@FansUnion.cn
*/
public class SearchCondition extends ConstantBase {
/**
* 多个组条件构成的集合
*/
private List
groupConditionList;
/**
* 多个组条件之间的关系:且|或,默认为且
*/
private List
and; public SearchCondition() { groupConditionList = new ArrayList
(); and = new ArrayList
(); } public void addGroupCondition(GroupCondition groupCondition) { addGroupCondition(groupCondition, false); } public void addGroupCondition(GroupCondition groupCondition, boolean or) { groupConditionList.add(groupCondition); if (EmptyUtils.notEmpty(groupConditionList)) { and.add(or); } } public void addOr(int index, boolean or) { and.set(index, or); } public List
getGroupConditionList() { return groupConditionList; } public void setGroupConditionList(List
groupConditionList) { this.groupConditionList = groupConditionList; } public List
getAnd() { return and; } public void setAnd(List
and) { this.and = and; } /** * 转化为字符串 */ public String toString() { if (EmptyUtils.isEmpty(groupConditionList)) { return EMPTY; } StrBuilder builder = new StrBuilder(); int size = groupConditionList.size(); for (int index = 0; index < size; index++) { // 1个组的条件用()包起来 if (index == 0) { builder.append(WHERE_WITH_BLANK).append( buildBracket(groupConditionList.get(index))); } else { builder.append(BLANK).append(isOr(and.get(index))) .append(BLANK) .append(buildBracket(groupConditionList.get(index))); } } return builder.toString(); } }
package cn.fansunion.hibernate.sql.entity;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.text.StrBuilder;
import cn.fansunion.hibernate.sql.ConstantBase;
/**
*
* 排序语句,如“order by id desc”。
*
* @author LeiWen@FansUnion.cn
*/
public class Order extends ConstantBase {
/**
* 排序语句的键
*/
private String key;
/**
* 排序语句的升序或降序(字符串形式)
*/
private String asc;
/**
* 排序语句的升序或降序(布尔形式)
*/
private Boolean isAsc;
public Order() {
}
public Order(String key, String asc) {
this.key = key;
this.asc = asc;
}
public Order(String key, Boolean isAsc) {
super();
this.key = key;
this.isAsc = isAsc;
}
/**
* 转化为字符串
*/
public String toString() {
String finalSort = DESC;
if (StringUtils.isNotEmpty(asc)) {
finalSort = asc;
} else {
if (isAsc) {
finalSort = ASC;
}
}
StrBuilder builder = new StrBuilder();
builder.append(key).append(BLANK).append(finalSort);
return builder.toString();
}
}
package cn.fansunion.hibernate.sql.entity;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.text.StrBuilder;
import cn.fansunion.hibernate.sql.ConstantBase;
import cn.fansunion.hibernate.util.ListUtils;
/**
* 排序组,如"order by id desc,name asc"。
*
* @author LeiWen@FansUnion.cn
*/
public class OrderGroup extends ConstantBase {
/**
* 多个排序构成的集合
*/
private List
orderList;
public OrderGroup() {
orderList = new ArrayList
(); } public OrderGroup(Order order) { this(); orderList.add(order); } public OrderGroup(Order order1, Order order2) { this(); orderList.add(order1); orderList.add(order2); } public void addOrder(Order order) { orderList.add(order); } /** * 转化为字符串 */ public String toSt