您的位置:

java分页,java分页查询代码

本文目录一览:

java分页

分页想清楚了就没什么难的了。一般有两种(我就知道两种):

1.数据库分页:

/**

* @param pageItems:一页显示条数 currentPage:当前第几页

* @autor godelegant

*/

public List findAll(int pageItems,int currentPage){

StringBuffer sqlStr = new StringBuffer("select * from Product limit ?,?");

...

...

int startIndex = (currentPage-1)*pageItems;);//(currentPage-1)*pageItems能过当前页和页面记录数得到应该从哪条开始取

int endIndex = startIndex+pageItems;

db.getPstmt().setInt(1,startIndex);

db.getPstmt().setInt(2,endIndex);

ResultSet rs = db.getPstmt().executQuery();//假设你已经得到了数据库连接

//以上为MYSQL的JDBC分页,下面是ORALCE的,差别只在于SQL,所以你换一下SQL就OK:

StringBuffer sqlStr = new StringBuffer("select *,rownum rn from (select * from Product) where rn =? and rownum =?");

}

求总页数的方法很简单,查出所有记录数,除一页显示数。就可以得到

以上是JDBC的,如果使用hibernate等,数据库分页将会变得很简单,只需要设置两个参数,就是从哪取和取多少。

2.代码分页

思路是将数据库中的所有记录都取出来,然后再分页。

/**

* @para items:数据库中的所有记录,你可以使用另一个方法得到,如何查询得到我就不用说了吧

* @autor godelegant

*/

public List findAll(List items,int pageItems,int currentPage){

int startIndex = (currentPage-1)*pageItems;//从哪里开始取

int offset = items.size()-startIndex;//还有多少没有取过

int pageCount = offsetpageItems?pageItems:offset;//如果没有取过的大于需要显示的数,则实现显示数pageCount=pageItems,反之然;

ListProduct pageList = new ArrayList();

for(int i=startIndex,istartIndex+pageCount,i++){

pageList.add(items.get(i));

}

return pageList;

}

写了40分钟,希望对你有用

java中这种分页怎么实现的

方法太多了.

如果是jdbc的话

分两方面:1数据库分页

2代码分页

如果是框架持久层的话

一般持久层的查询对象都要相关方法设置

比如设置一次取多少

从那条记录开始取

还可以去引入一些外部分页的jar包

----------------------------------------------

总体思想是这样的:

首先肯定需要几个参数:请求的页数,一页显示多少条数据.数据库真实的条数.

首先查出所有数据放入一个集合里面,当然如果数据更新次数少竟然用缓存.

然后根据数据库总条数与每页显示条数得到真正的页数.

根据一页条数和请求的页可以得到一个查询的范围。

在这个范围内,把数据从刚才那个集合里取出放入一个新的集合.前台要显示的就是这个集合的数据.

至于导航,自然就是页数的加减了.

具体代码,有兴趣发邮件我,我可以给你几个例子的做法.kyoxue@126.com

Java中如何实现分页功能

实现原理很简单,就是建立一个Page类,里面放当前访问的页数和每一页显示的记录行数。然后通过分页计算就可以得出下列数据。

总页数 = 总记录数/每页大小,如果0!=总记录数%每页大小,那么总页数再+1。

当前页数。

表记录的起始位置=(当前页数-1)*每页大小。

总记录数(select count(*) from [表名] [where [条件]]。从数据库中查询得到)

每页大小,可以固定,也可以从页面传过来有了这几个参数之后,就用sql语句查出对应的记录就可以了。

JAVA如何实现网页分页功能?

hibernate

有分页的查询函数可用...

搜索后分页:

在页面中使用隐藏域,

搜索之后,返回的页面中隐藏域保存了搜索的信息,

而分页的链接-》执行函数将

隐藏域中的搜索信息

+

页码

作为参数传递至后台,由后台进行查询~~

往后台传字符串乱码问题?

你的页面是什么编码?执行请求是get

还是post方法,get方法的话需要注意url中包含中文字符的问题,可以先将其转为iso8859-1再发送请求。

在后台获取到中文信息出现乱码的话,可以使用一个全局的过滤器,将

请求中的编码信息设置为页面所用的编码,此后再获取信息时,控制器将自动进行编码转换了(如iso8859-1

到gbk的转换)。

强烈建议数据库、程序、页面都使用utf8的编码!

如果不用隐藏域的话,用cookie去控制~~

java的分页

this.sqlStr=sqlStr+"limit"+irows+","+pageSize;

这句是:sqlStr 是用来存放你的SQL语句的变量;整个的意思就是:

比如:sqlStr="select * from user";

this.sqlStr="select * from user limit 9,4

就是查询表user 数据从第九行开始,向后查4行。每页显示4行数据。

String[] sData = new String[6]; 定义一个大小为6的字符串数组,

for(int j=0;jrsmd.getColumnCount();j++){*******************getColumnCount()什么意思有啥用????

sData[j]=rs.getString(j+1);

}

这句是循环遍历,将数据库的数据循环遍历的赋给字符串数组。

亲,希望我的回答对你有帮助。

java分页查询原理思路

你好,很高兴回答你的问题。

分页有两种,一种是假分页。

就是一次性将数据全部查询出来,然后在展示的时候从这些数据(一般是集合)中取指定索引范围的数据。

另一种是真分页,也就是查询数据时只查询符合条件的数据中的一部分。比如mysql查询时使用limit。

如果有帮助到你,请点击采纳。