查询助手代码

来源:互联网 发布:什么变声软件好用 编辑:程序博客网 时间:2024/05/22 03:36

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;
}
}

0 0
原创粉丝点击