package com.glasses.util;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
/**
*
* 项目名称:Glasses
* 类名称:QueryHelper
* 类描述:
* 创建人:zhang
* 创建时间:2014年10月22日 上午8:29:45
* 修改人:zhang
* 修改时间:2014年10月22日 上午8:29:45
* 修改备注:
* @version
*
*/
public class QueryHelper {
String fromClause;
String whereClause="";
String orderByClause="";
String alias="t";
List<Object> params=new ArrayList<Object>();
public QueryHelper(Class clazz,String alias){
this.alias=alias;
fromClause="from "+clazz.getSimpleName()+" "+alias;
}
public QueryHelper(Class clazz){
fromClause="from "+clazz.getSimpleName()+" "+alias;
}
/**
*
* @param condition where条件 (name=?)
* @param parameter 条件的参数
*/
public void addWhereCondition(Boolean add, String condition,Object... parameter){
if(add){
if("".equals(whereClause)){
whereClause=" WHERE "+alias+"."+condition+" ";
}else{
whereClause+="and "+alias+"."+condition+" ";
}if(parameter!=null){
for(Object ob:parameter){
params.add(ob);
}
}
}
}
/**
* @param condition //orderby的条件 name
* @param asc //排序规则
*/
public void addOrderCondition(String condition,boolean asc){
if("".equals(orderByClause)){
orderByClause="ORDER BY "+alias+"."+condition+(asc ? " ASC" : " DESC");
}else{
orderByClause+=" , " +alias+"."+condition+(asc ? " ASC" : " DESC");
}
}
/**
* 返回的结果是查询数量的HQl
* @return
*/
public String getCountQueryHql(){
return "SELECT COUNT(*) "+fromClause+whereClause;
}
/**
* 返回的结果是按一定条件查询的语句
* @return
*/
public String getQueryHql(){
return fromClause+whereClause+orderByClause;
}
/**
* 返回所有的参数
* @return
*/
public List<Object> getParamenters(){
return params;
}
@Test
public void hqlTest(){
}
}
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
/**
*
* 项目名称:Glasses
* 类名称:QueryHelper
* 类描述:
* 创建人:zhang
* 创建时间:2014年10月22日 上午8:29:45
* 修改人:zhang
* 修改时间:2014年10月22日 上午8:29:45
* 修改备注:
* @version
*
*/
public class QueryHelper {
String fromClause;
String whereClause="";
String orderByClause="";
String alias="t";
List<Object> params=new ArrayList<Object>();
public QueryHelper(Class clazz,String alias){
this.alias=alias;
fromClause="from "+clazz.getSimpleName()+" "+alias;
}
public QueryHelper(Class clazz){
fromClause="from "+clazz.getSimpleName()+" "+alias;
}
/**
*
* @param condition where条件 (name=?)
* @param parameter 条件的参数
*/
public void addWhereCondition(Boolean add, String condition,Object... parameter){
if(add){
if("".equals(whereClause)){
whereClause=" WHERE "+alias+"."+condition+" ";
}else{
whereClause+="and "+alias+"."+condition+" ";
}if(parameter!=null){
for(Object ob:parameter){
params.add(ob);
}
}
}
}
/**
* @param condition //orderby的条件 name
* @param asc //排序规则
*/
public void addOrderCondition(String condition,boolean asc){
if("".equals(orderByClause)){
orderByClause="ORDER BY "+alias+"."+condition+(asc ? " ASC" : " DESC");
}else{
orderByClause+=" , " +alias+"."+condition+(asc ? " ASC" : " DESC");
}
}
/**
* 返回的结果是查询数量的HQl
* @return
*/
public String getCountQueryHql(){
return "SELECT COUNT(*) "+fromClause+whereClause;
}
/**
* 返回的结果是按一定条件查询的语句
* @return
*/
public String getQueryHql(){
return fromClause+whereClause+orderByClause;
}
/**
* 返回所有的参数
* @return
*/
public List<Object> getParamenters(){
return params;
}
@Test
public void hqlTest(){
}
}