第一种:推荐:

DAO层的Hql语句如果用From.....执行出来的是一个基于Map结构的List,而用select.........执行出来的结果不是Map型的,为了方便使用、维护修改,将其转为基于Map的List。

DAO层代码如下:

  1. public List getSlCountList(Integer year, Integer month, String office) {
  2. Session session = getSession();
  3. String hql="SELECT office,count(*) as myCount from ReportMonth "
  4. + "Where (year = ?) AND (month = ?) And (office like ?) And(slsn <>'') "
  5. + "Group by office";
  6. List list = null;
  7. List newList=new ArrayList();
  8. Object[] obj;
  9. try {
  10. Query query = session.createQuery(hql);
  11. query.setParameter(0, year);
  12. query.setParameter(1, month);
  13. query.setParameter(2, "%" + office + "%");
  14. list = query.list();
  15. for(int i=0;i<list.size();i++){
  16. Map map = new HashMap();
  17. obj = (Object[])list.get(i);
  18. map.put("office", (String)obj[0]);
  19. map.put("myCount", (Integer)obj[1]);
  20. newList.add(map);
  21. }
  22. } catch (HibernateException e1) {
  23. newList=null;
  24. e1.printStackTrace();
  25. }
  26. finally{
  27. session.close();
  28. }
  29. return newList;
  30. }

JSP部分代码如下:

  1. <ww:iterator value="#request['slCountList']" id="slCountList">
  2. <tr class="tr0">
  3. <td height="26" width="15%">&nbsp;<ww:property value="#slCountList.office"/>
  4. ..................

第二种:DAO代码简洁,但是在JSP中用obj[0]obj[1]表示,感觉不好,晦涩。

DAO:

  1. public List getSlCountList(Integer year, Integer month, String office) {
  2. Session session = getSession();
  3. String hql="SELECT office,count(*) as myCount from ReportMonth "
  4. + "Where (year = ?) AND (month = ?) And (office like ?) And(slsn <>'') "
  5. + "Group by office";
  6. List list = null;
  7. try {
  8. Query query = session.createQuery(hql);
  9. query.setParameter(0, year);
  10. query.setParameter(1, month);
  11. query.setParameter(2, "%" + office + "%");
  12. list = query.list();
  13. } catch (HibernateException e1) {
  14. list=null;
  15. e1.printStackTrace();
  16. }
  17. finally{
  18. session.close();
  19. }
  20. return list;
  21. }

JSP:

  1. <ww:iterator value="#request['slCountList']" id="slCountList">
  2. <tr class="tr0">
  3. <td height="26" width="15%">&nbsp;<ww:property value="#slCountList[0]"/><B><font color="red">(<ww:property value="#slCountList[1]"/>座)</font></B></td>
  4. <td width="90%">
  5. .......................

转载于:https://blog.51cto.com/xuchenguang/398952

hibernate select 读取结果集的两种办法相关推荐

  1. Spark读取Hive数据的两种方式与保存数据到HDFS

    Spark读取Hive数据的两种方式与保存数据到HDFS Spark读取Hive数据的方式主要有两种 1. 通过访问hive metastore的方式,这种方式通过访问hive的metastore元数 ...

  2. Ruby读取Excel文件的两种方法

    用Ruby读取Excel文件的两种重要方式 1. 通常做法,查阅微软提供的API了,需要包含win32, 在ruby前加入,require 'win32ole' 例如: require 'win32o ...

  3. 第四章:数据存储-csv文件处理-读取csv文件的两种方式

    直接学习:https://edu.csdn.net/course/play/24756/280718 csv文件处理-读取csv文件的两种方式: # 这种方式读取到的每一条数据是个列表,所以需要通过下 ...

  4. java读取csv文件的两种方式

    java读取csv文件的两种方式 1.CsvReader读取 import com.csvreader.CsvReader; /*** CsvReader 读取* @param filePath* @ ...

  5. eclipse new server Cannot create a server using the selected type 网上有两种办法,其实原理一样...

    eclipse new server Cannot create a server using the selected type 网上有两种办法,其实原理一样 第一种说法: 还真的找到解决的方法了, ...

  6. C# HttpClient设置cookies的两种办法

    一般有两种办法 第一种handler.UseCookies=true(默认为true),默认的会自己带上cookies,例如 var handler = new HttpClientHandler() ...

  7. MSCOMM32控件注册的两种办法

    当我们在VC或者VB或者VS环境下基于MSCOMM控件开发的软件发布后,是不是有种很爽的感觉,可以拿到别人的电脑上运行下你的软件,可是当你移植过去后却发现软件无法点击的动(别笑,我在开发C#软件时就是 ...

  8. Arduino通过USB转TTL无BootLoader烧录程序的两种办法

    Arduino通过USB转TTL无BootLoader(引导程序)烧录程序的两种办法 注意 (这个实验室基于stm32duino的,avr单片机并不直接通用,不过如果你准备尝试使用串口来给avr单片机 ...

  9. Python超时机制两种办法

    目录 1.问题 2.Python超时控制的两种办法(简单不复杂) 2.1 引入eventlet 2.2 引入func-timeout 3.总结 1.问题 最近做项目有一个问题,需要使用Python自动 ...

最新文章

  1. 如何利用C#开发“扫雷”小游戏
  2. linux里面查看llvm的版本,linux llvm安装
  3. 上班第一天(1)--一个程序员的成长史(10)
  4. CodeForces - 197A Plate Game(博弈+思维)
  5. python安装多久_python安装与使用
  6. rpm数据库异常问题总结
  7. 用ping IP的方法测试网卡
  8. java udp 工具类_java udp 简单实现
  9. Win10安装.net framework 4.0失败提示已是操作系统一部分解决方案
  10. Grub4Dos 学习笔记
  11. 再谈Spring(一):Bean的作用域
  12. Elasticsearch:如何制作 GeoJSON 文件并进行地理位置搜索
  13. spring boot火车票售卖系统毕业设计代码211004
  14. BufferedImage缩小图片大小
  15. 2021年高处安装、维护、拆除免费试题及高处安装、维护、拆除模拟考试题库
  16. 主持人大赛计算机专业,计算机系主持人大赛简报
  17. 纯CSS修改浏览器的默认滚动条样式
  18. 四大机器学习降维算法:PCA、LDA、LLE、Laplacian Eigenmaps
  19. 我的财富自由之路 - 财富的自我认知
  20. php做app百度经验,fastadmin+uni-app开发记录

热门文章

  1. 如何用PyTorch进行语义分割?一个教程教会你|资源
  2. 用飞桨做自然语言处理:神经网络语言模型应用实例
  3. 李彦宏喊你来坐出租车,无人驾驶的那种;百度还要继续搞芯片,联手华为的那种...
  4. 阿里云企业邮箱收费吗
  5. #第六次会议#(4.21)
  6. 大数据分析决策平台问题总结
  7. windows常用命令(高级语句篇)
  8. Qt Style Sheets(qt样式表)
  9. 【随想】_无关技术_你是合格的项目经理人吗?
  10. 数据防泄漏(中文版)