折腾了半天,原来是hibernate不支持limit,还有有能实现的方法:
public List<IpSource> getIpList(final int count) {
final String sql = "from IpSource order by crtTm desc";
return this .getHibernateTemplate().executeFind( new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
return session.createQuery(sql).setMaxResults(count).list();
}
});
}
try{
10.
11. final String hql = "form KnowledgeExpertArticle as model where model.'"+keyName+"' like '%"+value+"%' order by model.expertArticleId DESC";
12.
13. log.info(hql);
14.
15. List resultList = getHibernateTemplate().executeFind(
16.
17. new HibernateCallback() {
18.
19. public Object doInHibernate(Session arg0)
20.
21. throws HibernateException, SQLException {
22.
23. Query query = arg0.createQuery(hql);
24.
25. query.setFirstResult(start);
26.
27. query.setMaxResults(limit);
28.
29. return query.list();
30.
31. }
32.
33.
34.
35. });
36.
37. return resultList;
38.
39.
40.
41. }catch(RuntimeException re){
42.
43. throw re;
44.
45. }
分享到:
相关推荐
本项目是基于`jsp`(Java Server Pages)和`Hibernate`框架实现的分页功能,通过Java代码来详细展示了如何在Web应用中高效地实现这一功能。 `jsp`是Java的一种动态网页技术,允许开发者在HTML中嵌入Java代码,以...
在Spring和Hibernate项目中,可以使用HQL(Hibernate Query Language)或JPA(Java Persistence API)的查询方式,配合LIMIT和OFFSET关键字实现分页。此外,还可以借助Spring Data JPA的Pageable接口,它提供了方便...
在Hibernate中,这可以通过设置Query的setFirstResult和setMaxResults方法来实现,这两个方法的参数对应于我们之前计算的startIndex和endIndex。 在获取到分页数据后,我们可以将其封装成一个List对象,并将这个...
本文将详细讲解如何在Hibernate中实现真分页(物理分页)和假分页(逻辑分页)。 首先,我们来了解什么是真分页和假分页。假分页,也称为内存分页,它一次性加载所有数据到内存中,然后通过索引进行分页显示,这种...
7. 模板方法设计模式:在系统实现中,可能会使用模板方法设计模式,将通用的数据库操作步骤抽象出来,比如一个通用的保存或更新方法,然后在具体的操作(如创建任务、更新任务)中扩展个性化逻辑。 8. MVC架构:...
在Struts和Hibernate这两个流行的Java Web开发框架的组合中,实现动态分页是一项常见的需求。动态分页允许用户浏览大量的数据,而不会一次性加载所有记录,从而提高用户体验和系统性能。下面将详细介绍如何在Struts...
##### 3.1 使用SQL LIMIT实现分页 对于支持LIMIT关键字的数据库(例如MySQL),Hibernate会通过特定的方言(Dialect)来生成包含LIMIT关键字的SQL语句。具体实现如下: ```java Query q = session.createQuery(...
如果使用Hibernate开发legacy的数据库应用,对于数据库表中有使用字符串作为主键或者使用复合主键情况,那么对于这些情况的影射档是比较麻烦的。该示例应用演示了两张表ITEM和CATEGORY_ITEM表有主外键关系,并且ITEM...
4. **编写HQL或Criteria查询**:在DAO实现类中,使用`Session`的`createQuery`或`createCriteria`方法创建查询,添加限制条件(Limit和Offset)来实现分页。 5. **Struts配置**:在`struts.xml`中配置Action,指定...
- 在DAO层,使用Hibernate的Criteria或HQL查询语句,结合Limit子句来限制返回的记录数量,获取当前页数据。 - 计算总记录数,通常需要单独的无限制的查询,以便计算总页数。 - 在Service层,根据请求参数(如页码...
在Java的持久化框架Hibernate中,分页查询是常见的需求,尤其在处理大量数据时,为了提高用户体验,分页展示数据至关重要。本文将探讨Hibernate中两种主要的分页方式:`query.scroll()`和使用`query.setFirstResult...
在IT行业中,SSH(Struts2、Hibernate、Spring)是一个常见的企业级Web应用程序开发框架...通过学习和实践这个项目,开发者可以深入理解SSH框架的整合以及数据分页的实现方法,这对提升Java Web开发技能非常有帮助。
在本项目中,分页可能通过设置SQL查询的LIMIT和OFFSET关键字来实现,LIMIT指定每页的数据条数,OFFSET则指定了从哪一行开始获取数据。 4. **Hibernate的Criteria API或HQL(Hibernate Query Language)**: 在这个...
在分页实现中,Spring可以提供事务控制,确保分页查询的原子性和一致性。此外,Spring AOP(面向切面编程)可以用来添加日志、性能监控等功能,提升分页操作的可维护性。 具体实现步骤如下: 1. 在Struts2的Action...
在Spring和Hibernate中实现分页功能,通常需要以下步骤: 1. **配置Spring**:创建Spring的配置文件,定义数据源、SessionFactory以及事务管理器。数据源配置用于连接MySQL数据库,SessionFactory是Hibernate的核心...
通常会有一个Page对象,包含当前页数、每页记录数等属性,通过Hibernate的Criteria或HQL查询语句配合Limit和Offset参数实现分页查询。返回的结果集可以封装成List对象,传递给JSP页面展示。 关于"数据库两张表主键...
4. **SQL查询**:在SQL中,我们可以使用`LIMIT`和`OFFSET`(MySQL)或`FETCH NEXT`和`OFFSET`(SQL Server)来实现分页查询。 5. **数据处理**:查询结果返回后,应用需要对数据进行处理,如转换为对应的Java对象,...
在分页实现中,Spring可以帮助我们管理事务,确保数据的一致性。 Hibernate作为持久层框架,用于与数据库交互。在分页时,我们可以利用HQL(Hibernate Query Language)或SQL查询,结合Criteria API来实现。例如,...
### Hibernate中HQL语句查询学习笔记 #### HQL基础 **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及...
5. **分页查询**: 在Hibernate的实现中,我们可以使用Criteria API或者HQL(Hibernate Query Language)配合Pageable接口进行分页查询。 6. **返回结果**: 将Page对象转换为前端需要的格式,如包含总页数、当前页...