1、返回int

  1. public int countByUsername(String username) {
  2. String hql = "select count(*) from BeanCarUser bean where bean.userName=:username";
  3. Query query = getSession().createQuery(hql);
  4. query.setParameter("username", username);
  5. return ((Number) query.iterate().next()).intValue();
  6. }

2、返回list集合

  1. @SuppressWarnings("unchecked")
  2. public List<CmsZfysj> findByZqmj(String zqmj, Date clsj) {
  3. Finder f = Finder.create("from CmsZfysj bean where 1=1 ");
  4. if (null != zqmj && !"".equals(zqmj)) {
  5. f.append(" and bean.police_id like :zqmj");
  6. f.setParam("zqmj", "%" + zqmj + "%");
  7. }
  8. if (null != clsj && !"".equals(clsj)) {
  9. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
  10. f.append(" and TO_CHAR(bean.import_time,'yyyy-MM-dd') >= '"
  11. + df.format(clsj) + "'");
  12. }
  13. if (null != clsj && !"".equals(clsj)) {
  14. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
  15. f.append(" and TO_CHAR(bean.capture_time,'yyyy-MM-dd') <= '"
  16. + df.format(clsj) + "'");
  17. }
  18. return find(f);
  19. }

3、多表关联查询返回List

(1)多表关联查询list

  1. @SuppressWarnings("unchecked")
  2. public List<BeanCompanyEmp> getListCompanyIsNull(BeanCompanyEmp beanCompanyEmpParam) {
  3.  
  4. StringBuffer sql = new StringBuffer();
  5.  
  6. sql.append(" select ");
  7. sql.append(" cemp.id ,cemp.doc_no ,jux.mobile ,jux.comefrom,jux.realname,jr.role_name ,cemp.latitude latitude ,cemp.longitude longitude ");
  8. sql.append(" from company_emp cemp, ");
  9. sql.append(" jc_user jc, ");
  10. sql.append(" jc_user_ext jux, ");
  11. sql.append(" jc_role jr, ");
  12. sql.append(" jc_user_role jur ");
  13.  
  14. sql.append(" where cemp.id = jc.user_id ");
  15. sql.append(" and cemp.id = jux.user_id ");
  16. sql.append(" and jur.user_id = jc.user_id ");
  17. sql.append(" and jur.role_id = jr.role_id ");
  18. sql.append(" and cemp.belong_company is null ");
  19. String sqls = sql.toString();
  20. Query query = sessionFactory.getCurrentSession().createSQLQuery(sqls.toString());
  21. List list = query.list();
  22. List<BeanCompanyEmp> result=new ArrayList<BeanCompanyEmp>();
  23. if(list!=null&&list.size()>0){
  24.  
  25. for (Object object : list) {
  26. int i = 0;
  27. BeanCompanyEmp modell=new BeanCompanyEmp();
  28. Object[] temp = (Object[]) object;
  29. modell.setId(Integer.parseInt( temp[i++] +""));
  30. modell.setDoc_no(String.valueOf(temp[i++]));
  31. modell.setMobile(String.valueOf(temp[i++]));
  32. modell.setComefrom(String.valueOf(temp[i++]));
  33. modell.setRealName(String.valueOf(temp[i++]));
  34. modell.setRoleNames(String.valueOf(temp[i++]));
  35. modell.setLatitude(String.valueOf(temp[i++]));
  36. modell.setLongitude(String.valueOf(temp[i++]));
  37. result.add(modell);
  38. }
  39. }
  40.  
  41. return result;
  42.  
  43. }

(2)多表查询带分页功能

  1. public Pagination getLookPage(BeanCompanyEmp beanCompanyEmpParam, int pageNo, int pageSize) {
  2.  
  3. Pagination pagination = new Pagination();
  4. StringBuffer sql = new StringBuffer();
  5. sql.append(" select ");
  6. sql.append(" cemp.id id,cemp.doc_no doc_no,jux.mobile mobile,jux.comefrom comefrom,jux.realname realname,jr.role_name role_name ");
  7. sql.append(" from company_emp cemp, ");
  8. sql.append(" jc_user jc, ");
  9. sql.append(" jc_user_ext jux, ");
  10. sql.append(" jc_role jr, ");
  11. sql.append(" jc_user_role jur ");
  12. sql.append(" where cemp.id = jc.user_id ");
  13. sql.append(" and cemp.id = jux.user_id ");
  14. sql.append(" and jur.user_id = jc.user_id ");
  15. sql.append(" and jur.role_id = jr.role_id ");
  16. sql.append(" and cemp.belong_company is null ");
  17. //TODO这最好查询角色名称
  18. if(beanCompanyEmpParam.getDoc_no() != null && beanCompanyEmpParam.getDoc_no() != ""){
  19. sql.append(" and cemp.doc_no like '%"+beanCompanyEmpParam.getDoc_no()+"%'" );
  20.  
  21. }
  22. if(beanCompanyEmpParam.getRealName() != null && beanCompanyEmpParam.getRealName() != ""){
  23. sql.append(" and jux.realname like '%"+beanCompanyEmpParam.getRealName()+"%'" );
  24.  
  25. }
  26.  
  27. String sqls = sql.toString();
  28. Query query = sessionFactory.getCurrentSession().createSQLQuery(sqls.toString());
  29. List list = query.list();
  30. List<BeanCompanyEmp> result=new ArrayList<BeanCompanyEmp>();
  31. if(list!=null&&list.size()>0){
  32.  
  33. for (Object object : list) {
  34. int i = 0;
  35. BeanCompanyEmp modell=new BeanCompanyEmp();
  36. Object[] temp = (Object[]) object;
  37. modell.setId(Integer.parseInt( temp[i++] +""));
  38. modell.setDoc_no(String.valueOf(temp[i++]));
  39. modell.setMobile(String.valueOf(temp[i++]));
  40. modell.setComefrom(String.valueOf(temp[i++]));
  41. modell.setRealName(String.valueOf(temp[i++]));
  42. modell.setRoleNames(String.valueOf(temp[i++]));
  43.  
  44. result.add(modell);
  45. }
  46. }
  47.  
  48. pagination.setList(result);
  49. pagination.setPageNo(pageNo);
  50. pagination.setPageSize(pageSize);
  51.  
  52. return pagination;
  53.  
  54. }

4、获取参数Collection集合

  1. /**
  2. * 获取参数类型集合
  3. */
  4. @SuppressWarnings("unchecked")
  5. public Collection<Object> getList() {
  6. Finder f = Finder.create("select distinct bean.paramType from BeanParamManager bean where bean.dataStatus=0 and bean.sslx ='中心参数'");
  7. return find(f);
  8. }

5、返回值是void

  1. public void insertDayModel(Integer dayNo){
  2. List<Object> list = dayDao.selectParkno();
  3. for (Object b : list) {
  4. String parkNo = b.toString();
  5. BeanDayTraffic bean = new BeanDayTraffic();
  6. bean.setParkno(parkNo);
  7. Date date = new Date();
  8. Calendar calendar = Calendar.getInstance();
  9. calendar.setTime(date);
  10. calendar.add(Calendar.DAY_OF_MONTH, +dayNo);//+1今天的时间加一天
  11. date = calendar.getTime();
  12. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  13. String sDate = sdf.format(date);
  14. try {
  15. Date dbDate = sdf.parse(sDate);
  16. bean.setDay_time(dbDate);
  17. } catch (ParseException e) {
  18. // TODO Auto-generated catch block
  19. System.out.println(e);
  20. }
  21. bean.setTypes("Day");
  22. bean.setTime1(0);
  23. bean.setTime2(0);
  24. bean.setTime3(0);
  25. bean.setTime4(0);
  26. bean.setTime5(0);
  27. bean.setTime6(0);
  28. dayDao.save(bean);
  29. }
  30. }

HQL多种查询实现的更多相关文章

  1. Hibernate批量处理数据、HQL连接查询

    一.批量处理操作 批量处理数据是指在一个事务场景中处理大量数据.在应用程序中难以避免进行批量操作,Hibernate提供了以下方式进行批量处理数据: (1)使用HQL进行批量操作     数据库层面 ...

  2. HQL基础查询语句

    HQL基础查询语句 1.使用hql语句检索出Student表中的所有列 //核心代码 @Test public void oneTest() { Query query=session.createQ ...

  3. hql语句查询实体类采用list方法的返回结果集

    在hibernate中,用hql语句查询实体类,采用list方法的返回结果为一个List,该List中封装的对象分为以下三种情况:1.查询全部字段的情况下,如"from 实体类", ...

  4. HQL连接查询

    HQL提供了连接查询机制如内连接,外连接,,还允许显示指定迫切内连接,和迫切外联结. 连接类型 内连接 inner join 或join 迫切内链接 inner join fetch 左外联结  le ...

  5. HQL连接查询和注解

    HQL连接查询和注解 一:HQL连接查询 各种连接查询: 内连接:inner join或join From Entity inner [inner] join [fetch] Entity.prope ...

  6. 【学习笔记】Hibernate HQL连接查询和数据批处理 (Y2-1-7)

    HQL连接查询 和SQL查询一样 hql也支持各种链接查询 如内连接 外连接 具体如下 左外连接 left (outer) join 迫切左外连接 left (outer) join fetch 右外 ...

  7. Castle ActiveRecord学习(五)使用HQL语句查询

    来源:http://www.cnblogs.com/Terrylee/archive/2006/04/12/372823.html 一.HQL简单介绍HQL全名是Hibernate Query Lan ...

  8. Hibernate批量处理数据、[HQL连接查询]

    一.批量处理操作 批量处理数据是指在一个事务场景中处理大量数据.在应用程序中难以避免进行批量操作,Hibernate提供了以下方式进行批量处理数据: (1)使用HQL进行批量操作 数据库层面 (2)使 ...

  9. hibernate学习系列-----(4)hibernate基本查询上篇:HQL基本查询

    紧接着上一篇,今天继续hibernate的学习总结,来聊一聊hibernate的基本查询方法,先说说HQL(hibernate Query Language):它是官方推荐的查询语言.在开始写代码之前 ...

随机推荐

  1. iOS运行时Runtime浅析

    运行时是iOS中一个很重要的概念,iOS运行过程中都会被转化为runtime的C代码执行.例如[target doSomething];会被转化成objc)msgSend(target,@select ...

  2. PAT 1022. D进制的A+B (20)

    输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数. 输入格式: 输入在一行中依次给出3个整数A.B和D. 输出格式: 输出A+B的D ...

  3. MySQL触发器如何正确使用

    MySQL触发器如何正确使用 2010-05-18 15:58 佚名 博客园 字号:T | T 我们今天主要向大家介绍的是MySQL触发器进行正确使用,其中包括对MySQL触发器发器的语句创建,触发时 ...

  4. poj1190

    生日蛋糕 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 18230 Accepted: 6491 Description 7月1 ...

  5. 【MySql】存储过程添加事务

    存储过程使用SQLException捕获SQL错误,然后处理: 我们可以在MySQL存储过程中捕获SQL错误,然后通过事务判断,回滚(ROLLBACK)还是提交(COMMIT). CREATE PRO ...

  6. ASP.NET MVC使用jQuery来POST数据至数据库中

    学习ASP.NET MVC程序,结合jQuery客户端代码,Post数据至数据库去.Insus.NET今天写一个完整性的例子. 在数据库中,创建一个表[dbo].[TestUser]: 既然是把数据存 ...

  7. 投入Html5的怀抱,最近在研究的Egret

    html5没有办法不关注,实在太火热了,几年前还不行,如今确是环境较好,typescript语言很好学习,可能基于之前的基础,不到一个星期就基本上差不多了,虽然还有一些小问题,但那都是经验积累下来可以 ...

  8. jquery 使用方法(转)

    原文: http://www.cnblogs.com/Chenfengtao/archive/2012/01/12/2320490.html jQuery是目前使用最广泛的javascript函数库. ...

  9. mybatis字符串模糊匹配

    1.  参数中直接加入%%,注意不需要加两个单引号,加了就会出错,因为系统会自动为字符串类型加上两个单引号 <select id="selectPersons" result ...

  10. Firefox about

    在firefox的地址栏输入about:about,然后看一下各个链接.有的链接有具体的用途,有的链接疯言疯语,并无软用. about:about集中了火狐浏览器的全部用户界面,平时常见的prefer ...