增加参数为分两种,一中是占位符方式:
/** * 占位符参数 */ @SuppressWarnings("unchecked") public static void test4(){ Session session = HibernateSessionFactory.currentSession(); String hql = "from User u where u.id=?"; Query query = session.createQuery(hql); query.setParameter(0, 2); List<User> user = query.list(); System.out.println("------------SQL执行完毕---------------"); for (User us : user) { System.out.println(us.getName()); } }
注意是从 0 开始,如果你的 id 是整型,那么必须设置一个整数,如果你设置参数是 "2" 是不行的!
也可以使用命名参数:
/** * 命名参数 */ @SuppressWarnings("unchecked") public static void test5(){ Session session = HibernateSessionFactory.currentSession(); String hql = "from User u where u.id=:id"; Query query = session.createQuery(hql); query.setInteger("id", 2); List<User> user = query.list(); System.out.println("------------SQL执行完毕---------------"); for (User us : user) { System.out.println(us.getName()); } }
使用命名参数感觉上是比较直观的
分页的话比较简单,设置两个参数即可:
/** * 分页 */ @SuppressWarnings("unchecked") public static void test6(){ Session session = HibernateSessionFactory.currentSession(); String hql = "from User u"; Query query = session.createQuery(hql); query.setFirstResult(0); query.setMaxResults(5); List<User> user = query.list(); System.out.println("------------SQL执行完毕---------------"); for (User us : user) { System.out.println(us.getName()); } }
至于分组和排序的话,和你写SQL是一样的,只是这里写的是实体的属性名字:
/** * 分组排序 */ @SuppressWarnings("unchecked") public static void test7(){ Session session = HibernateSessionFactory.currentSession(); String hql = "from User u group by name order by id desc"; Query query = session.createQuery(hql); List<User> user = query.list(); System.out.println("------------SQL执行完毕---------------"); for (User us : user) { System.out.println(us.getName()); } }
以上方法仅供参考!
请您到ITEYE看我的原创:http://cuisuqiang.iteye.com
或支持我的个人博客,地址:http://www.javacui.com
相关推荐
Hibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询....
Hibernate HQL命名参数和Query接口的分页 Hibernate HQL命名参数和Query接口的分页
Hibernate 多表连接分页查询示范项目 Hibernate Criteria 多表连接 分页
不错的分页(Hibernate+sqlserver2000分页)值得大家一看。
分页查询 // 6.投影查询(只获取部分字段的结果) // 7.聚集函数使用(聚合函数)(count、sum、avg、max、min等) // 8.TOP N查询(返回n条记录) // 9.命名查询 ———————————————— 原文链接:...
我培训时用的 Hibernate 课件, 个人能力范围... 内容如下:HQL 查询;Query 接口及其主要方法;Select 子句;更新与删除;引用查询;联合查询;子查询;数据加载方式;Sql 查询;分页查询;管理 Session;ThreadLocal 接口的使用
通用查询页面中的查询项、查询出的分页列表都是自动生成的。开发简便、快速,附件中是一套完整的demo和使用说明 支持全部Hql语法格式 Awake 后续功能扩展 1.XML格式数据输出,保证了ajax用户也可以使用Awake框架...
hibernate通用查询,可以实现分页,排序,及一个对象的任何查询操作
Hibernate+Hql实现简单单表分页查询。
hibernate概述,hibernate入门Demo,hibernate配置文件详解(全局配置,实体类映射配置),配置...hibernate查询方式概述,HQL查询,QBC查询,分页,结果集封装方式 ,高级查询 查询的优化,一级缓存,二级缓存,批量查询,注解方式
使用说明: ...1、修复HQL方式日期范围查询BUG 2、添加分组分页的功能 3、添加pageSize设置功能 V1.1版本更新内容 1、实现日期范围查询 V1.0版本 1、初始版本。实现JSP+SERVLET+Hibernate基本分页
HQL:Hibernate Qusery Language HQL :是面向对象的查询语言,同SQL有些相似是Hib中最常用的方式。 查询设定各种查询条件。 支持投影查询,检索出对象的部分属性。 支持分页查询,允许使用having和group by 提供内...
用三大框架整合实现分页,附加可用,逻辑简单适合初学者
高效率spring+struts+hibernate分页算法
基于hibernate的开源通用查询框架: 1.支持全部hql语法 2.可以支持Ajax用的 xml数据结构,也可以支持jsp、jstl、struts等标签,根据配置不同的数据解析器,得到不同结构的数据。 3.集成完整的分页功能。 4....
User实体(id, name, age, sex, ctime),使用hibernate实现User的增删改查。要求: 1、包的层次: com.xxx.entity, com.xxx.dao, com.xxx.dao.impl.hql, com.xxx.dao.impl.qbc, com.xxx.dao.impl.sql, ...
基于Struts+Hibernate+Spring三大框架下编写的简单的分页代码,其中列举了SQL与HQL两种不同的分页。
Awake 十分钟做一个查询,分页列表,增减一列只需几秒钟(修改xml)。 网址:http://hi.baidu.com/jfheng 在软件开发中我们经常会遇到这些问题: 1. 在开发查询检索页面时,经常遇到客户要求增减查询项,这时需要修改...
SSH 分页的例子源代码 全~~ 代码很全面了适合新手借鉴。但不支持完全的抄袭自己写还是最快的学习办法。
主要介绍了Hibernate分页的两种实现方法,结合实例形式讲述了criteria分页与hql分页的实现方法,需要的朋友可以参考下