Hql语句查询

原创 2012年03月26日 14:21:01

返回一个值 如最大值,最小值

 

	/**
	 * 获取最早激活时间
	 */
	public String getStartDate() {
		// TODO Auto-generated method stub
		
		Session session=this.getSessionFactory().openSession();

		String hql="select min(activ_time) from  r_device_active " ;
		String list=new String();
		Object results=session.createSQLQuery(hql).uniqueResult();
		
		this.closeSession(session);
		//没有记录
		if(results == null || "".equals(results)){
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			return sdf.format(new Date());
 
		}
		return results.toString();
	}


查询一个字段 ,返回一个list

/**
	 * 获取某条件下的激活时间
	 */
	public List<String> getActiveDate(String tradeognm,String custnm,String productdutyempnm,String productnm,String startDate,String endsDate ) {
		// TODO Auto-generated method stub
		Session session=this.getSessionFactory().openSession();
		String Hhql="";
		if(startDate != null && !"".equals(startDate) && !"null".equals(startDate)){
			Hhql += " and c.activ_time >='" + startDate + "'";
		}
		
		if(Hhql != null && !"".equals(endsDate) && !"null".equals(endsDate)){
				Hhql += " and c.activ_time <='" + endsDate + "'";
		}
		String hql=" select c.activ_time  from r_patternoutlist a" +
		" join r_product_info b on a.barcode=b.serial_no" +
		" join r_device_active c on c.mac=b.mac  where a .tradeognm='"+tradeognm +"'and a.custnm='"+custnm+"' and a.productdutyempnm ='"+productdutyempnm+"'and a.productnm ='"+productnm+"'"+Hhql;
		
		
		
		List<String> list=new ArrayList<String>();
		//results 定义一个list Object
		List<Object> results=session.createSQLQuery(hql).list();
		try{

			for(Object obj:results){
				int i=0;
				list.add(SimpleTools.CNull(obj).toString());
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		this.closeSession(session);
		return list;
	}



查询多个字段 ,返回一个list

   

    /**
     * 获取工贸-门店-产品代表-型号
     */
	public List<ManchineOpenedJson> getManchineOpenedJsonList(Page reportPage,HashMap<String, Object> param) {
		// TODO Auto-generated method stub
		Session session=this.getSessionFactory().openSession();
		
		
		//工贸
		String trade = (String)param.get("trade");
		//门店
		String store = (String)param.get("store");
		//产品代表
		String productDuty = (String)param.get("productDuty");
		//产品型号
		String product = (String)param.get("product");
		
		//开始时间
		String startDate = (String)param.get("startDate");
		//结束时间
		String endDate = (String)param.get("endDate");
		
		String queryHql = "";
		//查询条件
		if(trade != null && !"".equals(trade) && !"null".equals(trade)){
			queryHql += "and tradeognm='" + trade + "'";
		}
		
		if(store != null && !"".equals(store) && !"null".equals(store)){
			 
				queryHql += " and custnm='" + store + "'";
		 
		}
		if(productDuty != null && !"".equals(productDuty) && !"null".equals(productDuty)){
			 
				queryHql += " and productdutyempnm='" + productDuty + "'";
			 
		}
		if(product != null && !"".equals(product) && !"null".equals(product)){
			 
				queryHql+= " and productnm='" + product + "'";
			 
		}
		
		if(startDate != null && !"".equals(startDate) && !"null".equals(startDate)){
			queryHql += " and c.activ_time >='" + startDate + "'";
		}
		
		if(endDate != null && !"".equals(endDate) && !"null".equals(endDate)){
				queryHql += " and c.activ_time <='" + endDate + "'";
		}
		
		String hql="select tradeognm, custnm,productdutyempnm, productnm,count(barcode) " +
				"from r_patternoutlist a " +
				" join r_product_info b on a.barcode=b.serial_no "+
				"join r_device_active c on c.mac=b.mac "+
				"where 1=1 " +queryHql+
				" group by(tradeognm, custnm,productdutyempnm, productnm) order by tradeognm asc";
		List<ManchineOpenedJson> list=new ArrayList<ManchineOpenedJson>();
		//results 定义一个list Object[]
		List<Object[]> results=session.createSQLQuery(hql).list();
		
		
		//设置总记录数
		reportPage.setRecordCount(results.size());
		//需要分页
		if(reportPage.isIfPage()){
			int start = (reportPage.getCurrentPage() - 1) * reportPage.getPageSize();
			int end   = (reportPage.getCurrentPage()) * reportPage.getPageSize(); 
			if(end > results.size()){
				end = results.size();
			}
			try{
				results = results.subList(start, end);
			}catch(Exception e){
				
			}
		}

		ManchineOpenedJson m;
		
		for(Object[] obj:results){
			m=new ManchineOpenedJson();
			int i=0;
			//将查询字段 放到javaBean中
			m.setTrade(obj[i].toString());
			m.setStore(SimpleTools.CNull(obj[++i]));
			m.setProductDuty(SimpleTools.CNull(obj[++i]));
			m.setProduct(SimpleTools.CNull(obj[++i]));
			m.setActiveSum(SimpleTools.CNull(obj[++i]));
			list.add(m);
		}

		this.closeSession(session);
		return list;
	}


                

hql查询语句大全

对象化查询:   Criteria criteria=session.createCriteria(User.class);   criteria.add(Exception.like("name...
  • rgq562248600
  • rgq562248600
  • 2012年11月02日 15:16
  • 1368

Hibernate的hql查询语句详细总结

Hql即Hibernate Query Language,是一个面向对象的查询语言,是基于对象进行查询的,不是基于数据库中表,字段的。 1、准备首先有两个类TBook类和Category类,两者之间...
  • Speed_Pig
  • Speed_Pig
  • 2017年06月10日 15:56
  • 206

常用的一些HQL查询语句详解(1)

本人学hibernate时,发觉HQL查询语句比较琐碎,但都大同小异,在这里慢慢整理一些分享给大家,希望对初学者有帮助。 //lower: 返回根据当前字符集映射所有字符改变为小写,即返回小...
  • IT_smallBird007
  • IT_smallBird007
  • 2016年06月13日 03:11
  • 1251

HQL 查询方式, 及分页查询:、 命名查询语句、 投影查询、报表查询

1. 持久化类: Department.java public class Department { private Integer id; private String name; ...
  • chuck_kui
  • chuck_kui
  • 2016年06月06日 13:03
  • 4772

Hibernate——Hql实例+详解

Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。完整的HQL语句形式如下:Select/update/delete…… from …… where …… group by …...
  • suneqing
  • suneqing
  • 2015年08月22日 01:01
  • 2528

hibernate如何使用hql语句查询时间区间段

最近需要做一个根据时间段查询教师的获奖信息。 在使用hibernate的hql语句时发现使用平时的String类型进行查询总是报错查询得到以下结果 1、写出类似于 以下的hql语句  hql = "f...
  • personbing
  • personbing
  • 2016年05月31日 19:56
  • 5270

hql语句拼接查询

根据不同条件拼接hql语句 @Override public List generateReport(Long marketId,String startTime,String endTime...
  • yuanyuan171601
  • yuanyuan171601
  • 2016年12月07日 16:25
  • 1216

Hibernate中使用HQL进行查询操作

注意:HQL语言,是基于对象进行查询的,不是基于数据库的表。 1、基本的HQL查询 1.1 使用HQL查询的一般步骤 public void test01() { Session sessio...
  • zbw18297786698
  • zbw18297786698
  • 2016年07月22日 15:27
  • 13103

HQL语句--order by(排序)

order by:对查询结果排序 升序排序 asc (默认升序) 降序排序 desc @Test public void testOrderby(){ String hql="...
  • syf1970
  • syf1970
  • 2016年09月01日 15:34
  • 10916

hibernate 使用HQL语句进行多表联查

先看数据库: [order_list_sub_sendnum_part]表: id olss part_num 1 1 001 2 2 002 3 3 003 4 4 004 5 5 ...
  • qq_24531461
  • qq_24531461
  • 2017年04月07日 13:56
  • 2077
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hql语句查询
举报原因:
原因补充:

(最多只允许输入30个字)