查询助手代码

本文介绍了一个用于构建HQL查询的实用工具类,该类能够帮助开发者轻松地构造复杂的HQL查询语句,包括FROM、WHERE及ORDER BY子句。

package binGe.core.queryUtils;


import java.util.ArrayList;
import java.util.List;


//给查询的hql语句,
public class query {
//FORM语句
private String formClause="";
//where语句
private String whereClause="";
//order by语句
private String orderByClause="";

private List<Object> parmeters;
//排序顺序
public static String ORDER_BY_DESC="desc";
public static String ORDER_BY_ASC="asc";
/**
* 构造form语句,只出现一次
* @param clazz 查询的对象
* @param alias 给查询的对象设置别名
*/
public query(Class clazz,String alias){
formClause+="from "+clazz.getSimpleName()+" "+alias;
}
/**
* where语句构造
* @param condition:条件 如:i.id=?      i.id like ? 
* @param objects
*/
public void addCondition(String condition,Object...objects){
if(whereClause.length()>1){
whereClause+=" and "+condition;
}else{
//表示第一个查询条件
whereClause+=" where "+condition;
}
//设置条件集中处理
if(parmeters==null){
parmeters=new ArrayList<Object>();
}
if(objects!=null){
for (Object object : objects) {
parmeters.add(object);
}
}
}
/**
* 构造orderby语句
* @param property 排序属性 如 i.createTime
* @param order 怎么排序 desc降序  asc升序
*/
public void addOrderBy(String property, String order){
if(orderByClause.length()>1){
orderByClause+=","+property+" "+order;
}else{
//表示第一个排序条件
orderByClause+=" order by "+property+" "+order;
}
}
//得到查询的hql语句
public  String getQuery(){
return formClause+whereClause+orderByClause;
}
//的到查询的?值,是集合
public List<Object> getParmeters(){
return parmeters;
}
//得到查询总记录数的语句
public String getTotalHql(){
return "select count(*) "+formClause+whereClause;
}
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值