Oracle MySql以及Hibernate实现分页
来源:互联网 发布:编辑小说的软件 编辑:程序博客网 时间:2024/05/25 13:33
1. Oracle
Oracle通过ROWNUM实现分页,注意有三层select,end表示结束行 start表示开始行,具体代码如下:
SELECT * FROM (
SELECT ROWNUM RN, A.* FROM (
SELECT* FROM table d WHERE 1=1 ) A
WHERE ROWNUM <=end ) B
WHERE RN >= start;
2. MySql
MySQL实现分页是通过使用limit函数实现的,LIMIT[offset,] rows可以从MySQL数据库表中第M条记录开始检索N条记录的语句为: SELECT * FROM 表名称 LIMIT M,N,M可省略。mysql实现分页有两种不同方式,一种是使用COUNT(*)的方式,具体代码如下:
SELECT COUNT(*) FROM foo WHERE b = 1;//获得总数
SELECT a FROM foo WHERE b = 1 LIMIT 100,10;
另外一种是使用SQL_CALC_FOUND_ROWS,具体代码如下:
SELECTSQL_CALC_FOUND_ROWS a FROM foo WHERE b = 1 LIMIT 100, 10;
SELECT FOUND_ROWS();//获得总数
从原子性来看,第二种比第一种好。第二种能保证查询语句的原子性,第一种当两个请求之间有额外的操作修改了表的时候,结果就自然是不准确的了,而第二种则不会。但是,一般页面需要进行分页显示的时候,往往并不要求分页的结果非常准确。即分页返回的total总数大1或者小1都是无所谓的,换句话说原子性不是分页关注的重点。
感兴趣的同学可以去网上查查两种方式的性能。这是网友老王的一篇分析文章:http://hi.baidu.com/thinkinginlamp/item/b122fdaea5ba23f614329b14
3. Hibernate
hibernate实现分页比较简单,只需调用setFirstResult()设置起始行,然后调用setMaxResults()设置获取的最大行数。
Session session =getSessionFactory().getCurrentSession();
Queryquery = session.createQuery(hql);
query.setFirstResult(start);
query.setMaxResults(itemsInPrePage);
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
- Oracle MySql以及Hibernate实现分页
- Oracle MySql以及Hibernate实现分页
- Oracle MySql以及Hibernate实现分页 2
- mysql oracle Hibernate 的分页
- MySql、SqlServer、oracle分页实现
- Oracle、MySQL、SQLServer实现分页
- sqlserver和oracle以及mysql的分页
- Oracle分页以及与MySql的比较
- Oracle,mysql分页查询,Hibernate,iBatis的分页查询
- oracle实现分页以及性能分析
- oracle实现分页与mysql实现分页功能
- sqlserver ,mysql,oracle 语句实现分页
- Oracle,SQl,MySql实现分页查询
- oracle,mysql,sql server分页的实现
- oracle mysql SqlServer 数据库分页实现sql
- mysql和oracle分页实现方式
- 请说下mysql和oracle分页如何实现
- oracle mysql SqlServer 实现分页查询语句
- 几个 Context 上下文的区别
- asd f sdfsd f afsda fsdasC ASDF
- Easypack之Alpine容器系列:Maven
- android应用开发-从设计到实现 2-3 颜色的运用(一)
- Ubuntu 强行修改用户名导致密码错误无法进入系统的解决办法
- Oracle MySql以及Hibernate实现分页
- Oracle MySql以及Hibernate实现分页 2
- Java学习第二天
- 一阶逻辑是什么?
- Elasticsearch 基本概念
- Codeforces Round #401 (Div. 2) 题解
- 第一篇博客--程序是如何跑起来的
- Python轻松入门-20 Lamdba函数
- Linux面试必知: 一句话讲透epoll