oracle分页查询语句
Sql代码
select * from ( select a.*, rownum rn from (select * from table_name) a where rownum <= 40 ) where rn >= 21
java得到分页查询语句的方法
Java代码
/**
* 得到分页查询的语句
* @param queryString
* @param pageIndex
* @param pageSize
* @return
*/
public String getPageQl(String queryString, int pageIndex, int pageSize){
//select * from ( select a.*, rownum rn from (select * from table_name) a where rownum <= 40 ) where rn >= 21
String ql = "select * from ( select page_.*, rownum rn from ("+queryString+") page_ where rownum <= "+pageIndex*pageSize+" ) where rn > "+(pageIndex-1)*pageSize;
//log.info(ql);
return ql;
}
排序的时候,最好再加上按id排序,解决翻页数据重复的问题。
Sql代码
select * from ( select a.*, rownum rn from (select * from table_name) a where rownum <= 40 ) where rn >= 21
java得到分页查询语句的方法
Java代码
/**
* 得到分页查询的语句
* @param queryString
* @param pageIndex
* @param pageSize
* @return
*/
public String getPageQl(String queryString, int pageIndex, int pageSize){
//select * from ( select a.*, rownum rn from (select * from table_name) a where rownum <= 40 ) where rn >= 21
String ql = "select * from ( select page_.*, rownum rn from ("+queryString+") page_ where rownum <= "+pageIndex*pageSize+" ) where rn > "+(pageIndex-1)*pageSize;
//log.info(ql);
return ql;
}
排序的时候,最好再加上按id排序,解决翻页数据重复的问题。
本文介绍了一种使用Oracle数据库实现分页查询的方法,并提供了一个Java函数用于生成相应的SQL语句。此外,还讨论了如何通过添加ID排序来避免翻页时出现数据重复的问题。

被折叠的 条评论
为什么被折叠?



