简单的Hql拼接...

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(){


}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值