/**
* HQL查询的一个例子
*/
public static void hql()
{
Session s = null;
try
{
s = HibernateUtil.getSeesion();
//final String hql = "from User as u where u.name=?";
final String hql = "from User as u where u.name=:name";
final Query query = s.createQuery(hql);
//query.setString(0, "北京市"); //从0开始
query.setString("name", "北京市");
final List<User> list = query.list();
for (final User u : list)
{
System.out.println(u.getName());
}
}
finally
{
if (s != null)
{
s.close();
}
}
System.out.println("HQL完成");
}
HibernateUtil工具类
package dao;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
/**
* 这是一个工具类, 快速取得session
*
*/
public class HibernateUtil
{
static SessionFactory sessionFactory = null;
static
{
final Configuration cfg = new Configuration();
cfg.configure(); //路径可以改变
sessionFactory = cfg.buildSessionFactory();
}
public static SessionFactory getSessionFactory()
{
return sessionFactory;
}
/**
* 取得session
*
* @return session
*/
public static Session getSeesion()
{
return sessionFactory.openSession();
}
}
/**
* HQL 分页查询
*/
public static void page()
{
Session s = null;
try
{
s = HibernateUtil.getSeesion();
final String hql = " from User "; //User是类名
final Query q = s.createQuery(hql);
q.setFirstResult(0); //从第0条开始
q.setMaxResults(10); //取出10条
final List list = q.list();
for (final User u : list)
{
System.out.println(u.getId() + " " + u.getName());
}
}
finally
{
s.clear();
}
}
分享到:
相关推荐
### Hibernate HQL 查询详解 #### 一、HQL(Hibernate Query Language)简介 HQL(Hibernate Query Language)是一种面向对象的查询语言,它允许开发者使用类及其属性来编写查询语句,而不是传统的SQL语句。这使得...
当我们想要实现模糊查询时,可以利用`Criteria` API或者`HQL`(Hibernate Query Language)来完成。例如,如果我们要查询一个名为`User`的实体类中所有名字包含"John"的用户,可以这样做: ```java Session session...
Hibernate 支持多种方式来实现多表连接查询,包括 HQL(Hibernate Query Language)和 Criteria 查询。本项目主要关注 Criteria API 的使用,这是一种基于 Java 对象的查询方式,更加灵活且易于理解和维护。 **...
在这个类中,我们可以通过编写Hibernate HQL或SQL查询语句来实现分页查询。 4. **Struts2 Action** 在Action类中,我们需要处理来自用户的请求参数,如当前页码和每页显示记录数等,并调用DAO中的分页查询方法获取...
### Hibernate HQL 查询详解 #### 一、HQL 概述 Hibernate 提供了一种非常强大的查询语言——HQL(Hibernate Query Language),它在语法上与 SQL 类似但功能更为强大,因为它支持面向对象的特性,例如继承、多态性...
### Hibernate HQL 基本查询详解 #### 一、HQL 概述 HQL (Hibernate Query Language) 是一种面向对象的查询语言,由 Hibernate 官方提供,用于简化数据库查询过程。与传统的 JDBC 方式相比,使用 HQL 进行数据库...
4. 分页查询:使用setFirstResult和setMaxResults方法实现分页,如“query.setFirstResult(0).setMaxResults(10)”。 5. 参数化查询:避免SQL注入,提高代码复用,如“SELECT u FROM User u WHERE u.name=:name”,...
总结起来,熟练掌握Hibernate HQL的命名参数和Query接口的分页查询是提高数据操作效率的关键。同时,注意处理可能出现的数据库关键字冲突问题,确保ORM映射的正确性。通过这些技巧,开发者可以更好地控制和优化...
在SSH框架中,我们可以在Action中计算总页数,然后通过Hibernate的Criteria或HQL查询指定页码的数据。 5. **Struts2的拦截器**:为了实现分页,我们可以创建一个自定义的Struts2拦截器,拦截请求并添加分页参数。...
### Hibernate 课件_HQL 知识点解析 #### HQL查询 ...这些知识点涵盖了HQL的基本概念、查询方法、各种高级查询技巧以及Session的管理等方面,希望能够帮助大家更好地理解和掌握Hibernate的HQL查询技术。
**Hibernate HQL查询** Hibernate Query Language(HQL)是Hibernate框架提供的一种面向对象的查询语言,它是基于Java的,但其语法与SQL类似,用于在Java应用中操作对象。HQL允许开发者用类名和属性名而不是表名和...
这里使用了HQL(Hibernate Query Language)来执行查询。例如,在`getProductsMenuSub`方法中,通过以下HQL语句实现了连表查询: ```java String queryString = "select a.productsName from TopProducts as a, ...
"HibernateHQL实现前台翻页"这一主题就是关于如何利用Hibernate的HQL(Hibernate Query Language)来实现数据库查询的分页功能,并结合Servlet(通常与MVC模式中的Controller层对应)和MySQL数据库来构建一个完整的...
本篇将详细探讨Hibernate的注解方式以及HQL(Hibernate Query Language)查询。 一、Hibernate注解方式 1. **实体类注解**:在Hibernate中,我们可以使用注解来定义一个Java类为数据库中的表。例如,使用`@Entity`...
本篇文章将深入探讨使用Hibernate ORM框架与SQL Server 2000数据库进行分页查询的方法。 首先,Hibernate是Java领域中最流行的ORM(对象关系映射)框架之一,它允许开发者使用面向对象的方式操作数据库,减少了直接...
本篇将深入探讨Hibernate中的分页查询功能以及它如何处理数据库连接,帮助你更有效地管理大数据量的查询操作。 首先,我们来看一下什么是分页查询。在Web应用中,当用户需要浏览大量数据时,一次性加载所有数据不仅...
下面我们将深入探讨Hibernate的HQL模糊查询及其应用。 一、HQL概述 HQL是一种面向对象的查询语言,它的语法结构与SQL类似,但更关注于对象和实体,而不是数据库表和列。HQL允许开发者直接操作Java对象,避免了直接...
通过以上介绍,你应该对HQL分页有了基本理解。实践中,还需要根据具体项目需求和数据库类型进行调整,优化查询性能,提升用户体验。如果你需要进一步学习,可以参考提供的博文链接,那里可能有更详细的讨论和示例...
在分页查询中,Hibernate提供了一种称为HQL(Hibernate Query Language)的SQL方言,可以方便地实现复杂的查询,包括分页查询。此外,Hibernate还支持Criteria查询,这是一种更加面向对象的查询方式,同样可以实现...
总结,Hibernate的分页查询是其强大功能的一部分,通过Criteria API、HQL或自定义SQL,我们可以轻松地在Java应用中实现数据库的分页操作。在实际开发中,应结合数据库特性和性能需求,选择最合适的分页策略。