⑴ 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;j<rsmd.getColumnCount();j++){*******************getColumnCount()什么意思有啥用????
sData[j]=rs.getString(j+1);
}
这句是循环遍历,将数据库的数据循环遍历的赋给字符串数组。
亲,希望我的回答对你有帮助。
⑵ 关于java 分页取出数据所在页的页数。
给你提供两种思路:
1.你要取第二页,也就就是6-10,你可以先用top 10 ,取出前10个,然后desc倒序,再取出top 5
再倒序,这样就取出6-10个;
比如:select top 5 from (select top 10 * from table_1 desc) t desc
2.sqlserver 和oracle都有row_number() 这样的列,就是你取出的结果集给你多加一个列,你按row_number()去结果集也行。
比如:with table001 as (select row_number() over (order by Qid) as row_number , * from ( "+sql+") k) select * from table001 where row_number>= ? and row_number<= ? order by Qid
这个是我之前项目中的sql语句。你参考一下,作用就是 取( "+sql+") 中的sql 中的两个?之间的数据
---------------------------
你要取页数,可以用第二个思路,pk不一定是连续,可能有些数据给删除;
但是查询出来的结果集加上的row_number(),肯定是连续,
row_number%5==0;page = row_number/5
row_number%5!=0;page = row_number/5+1
⑶ java 中查询数据库后的分页咋做,管理系统的查询显示方面,上一页,下一页的实现
这个不难,起一个分页组件.(里面有拿到下一页,拿到上一页的方法)然后在专jsp页面里面属,当点上一页时,把当前页,发过服务器那边,服务器再去数据库查找指定范围的数据,不同数据库有不同的分布方法。然后拿到一定数量的集合,再由服务器发回到jsp页面,再显示就行了。。。
大概原理就这是样,不懂的继续问。。。