本文目录一览:
- 1、java分页
- 2、java中这种分页怎么实现的
- 3、Java中如何实现分页功能
- 4、JAVA如何实现网页分页功能?
- 5、java的分页
- 6、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。
如果有帮助到你,请点击采纳。