`
cuisuqiang
  • 浏览: 3937382 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
3feb66c0-2fb6-35ff-968a-5f5ec10ada43
Java研发技术指南
浏览量:3651724
社区版块
存档分类
最新评论

Hibernate的查询 HQL查询 参数,分页,分组

    博客分类:
  • SSH
阅读更多

增加参数为分两种,一中是占位符方式:

/**
 * 占位符参数
 */
@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

 

分享到:
评论
3 楼 q179181 2012-06-15  
群组?     . . . 
2 楼 cuisuqiang 2012-05-17  
wangjianwhy 写道

加我的群组聊
1 楼 wangjianwhy 2012-05-17  

相关推荐

    Hibernate HQL查询 分页查询 模糊查询.docx

    Hibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询....

    Hibernate HQL命名参数和Query接口的分页

    Hibernate HQL命名参数和Query接口的分页 Hibernate HQL命名参数和Query接口的分页

    Hibernate 多表连接分页查询示范项目

    Hibernate 多表连接分页查询示范项目 Hibernate Criteria 多表连接 分页

    Hibernate+sqlserver2000分页

    不错的分页(Hibernate+sqlserver2000分页)值得大家一看。

    Hibernate_HQL案例.zip

    分页查询 // 6.投影查询(只获取部分字段的结果) // 7.聚集函数使用(聚合函数)(count、sum、avg、max、min等) // 8.TOP N查询(返回n条记录) // 9.命名查询 ———————————————— 原文链接:...

    Hibernate 课件_HQL

    我培训时用的 Hibernate 课件, 个人能力范围... 内容如下:HQL 查询;Query 接口及其主要方法;Select 子句;更新与删除;引用查询;联合查询;子查询;数据加载方式;Sql 查询;分页查询;管理 Session;ThreadLocal 接口的使用

    基于hibernate 通用查询框架,包含查询、分页列表 功能

    通用查询页面中的查询项、查询出的分页列表都是自动生成的。开发简便、快速,附件中是一套完整的demo和使用说明 支持全部Hql语法格式 Awake 后续功能扩展 1.XML格式数据输出,保证了ajax用户也可以使用Awake框架...

    hibernate通用查询

    hibernate通用查询,可以实现分页,排序,及一个对象的任何查询操作

    Hibernate分页

    Hibernate+Hql实现简单单表分页查询。

    Hibernate学习笔记和资料

    hibernate概述,hibernate入门Demo,hibernate配置文件详解(全局配置,实体类映射配置),配置...hibernate查询方式概述,HQL查询,QBC查询,分页,结果集封装方式 ,高级查询 查询的优化,一级缓存,二级缓存,批量查询,注解方式

    实现JSP+SERVLET+Hibernate基本分页

    使用说明: ...1、修复HQL方式日期范围查询BUG 2、添加分组分页的功能 3、添加pageSize设置功能 V1.1版本更新内容 1、实现日期范围查询 V1.0版本 1、初始版本。实现JSP+SERVLET+Hibernate基本分页

    HQL:Hibernate Qusery Language

    HQL:Hibernate Qusery Language HQL :是面向对象的查询语言,同SQL有些相似是Hib中最常用的方式。 查询设定各种查询条件。 支持投影查询,检索出对象的部分属性。 支持分页查询,允许使用having和group by 提供内...

    spring+struts2+hibernate整合实现分页

    用三大框架整合实现分页,附加可用,逻辑简单适合初学者

    高效率spring+struts+hibernate分页算法

    高效率spring+struts+hibernate分页算法

    通用查询框架(hibernate+Ajax+jstl)

    基于hibernate的开源通用查询框架: 1.支持全部hql语法 2.可以支持Ajax用的 xml数据结构,也可以支持jsp、jstl、struts等标签,根据配置不同的数据解析器,得到不同结构的数据。 3.集成完整的分页功能。 4....

    hibernate实现User的增删改查

    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的分页

    基于Struts+Hibernate+Spring三大框架下编写的简单的分页代码,其中列举了SQL与HQL两种不同的分页。

    基于hibernate 通用查询 框架 Awake 基础jar包

    Awake 十分钟做一个查询,分页列表,增减一列只需几秒钟(修改xml)。 网址:http://hi.baidu.com/jfheng 在软件开发中我们经常会遇到这些问题: 1. 在开发查询检索页面时,经常遇到客户要求增减查询项,这时需要修改...

    SSh sql/hql 分页

    SSH 分页的例子源代码 全~~ 代码很全面了适合新手借鉴。但不支持完全的抄袭自己写还是最快的学习办法。

    Hibernate分页的两种实现方法

    主要介绍了Hibernate分页的两种实现方法,结合实例形式讲述了criteria分页与hql分页的实现方法,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics