分页显示数据
2016-04-05 16:48
134 查看
做一个项目,其中的展示页面需要从数据库中分页读取数据,并展示固定行(比如5行)的数据。
项目中持久层使用的Hibernate框架,数据库为Oracle,主键生成策略为序列。本来使用
项目中持久层使用的Hibernate框架,数据库为Oracle,主键生成策略为序列。本来使用
String hql = "from Course where id > " + (start - 1) + " and id < " + (start + pageSize);这个hql语句来查询连续的几行数据,这样就会导致一个问题,比如我们从数据库中删除了其中的一行,这样主键值不连续,然后使用上述语句查询时,我们就只能查询到pageSize - 1条数据,很显然这个不符合我们的预期。于是查询Hibernate,发现可以使用下面的语句来进行改进:
Object[] objectArray = sessionFactory .getCurrentSession() .createQuery(hql) .setFirstResult(start.intValue()) .setMaxResults(pageSize) .list().toArray();这样就不会出现上面的问题。因为尽管实际上数据库中的数据的ID不是连续的,但是Hibernate提供了一个逻辑上的连续的映射,这样我们就能直接分页查询到实际上并不连续的数据。
相关文章推荐
- [Hnoi2006]马步距离 (贪心+A*)
- 完整版的strcpy函数
- 火狐 firefox proxy moz=proxy:// 407错误 解决办法
- IDEA 导入 eclipse 的项目出现\65279错误的解决
- php and js to facebook登陆 最佳实践
- 面向对象七大设计原则
- 欢迎使用CSDN-markdown编辑器
- [置顶] java IO 问题分析
- 现代控制理论思考题----倒立摆小车控制算法研究
- QLineEdit的IP格式输入
- H264码率设置 在手机中的设置.
- 现代控制理论思考题----倒立摆小车控制算法研究
- 现代控制理论思考题----倒立摆小车控制算法研究
- Escape BNUOJ 49278
- Java爬虫,信息抓取的实现
- 归并排序
- dedecms 标签
- 哪错的排序
- Cordova插件,自动根据包名替换R资源描述
- swift 类似九宫格