J2se(8)------分页显示数据

J2se(8)

分页显示数据


----------------------------------
利用JTable实现增删改查


当数据表的数据特别多的情况下,一个窗体显示不下,就需要分页显示数据



在SQLServer数据库,查询前三条数据

select top 3 * from 表; --top关键字只能在SQLServer中使用

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

在MySQL查询前三条数据



*********************************************************
JTable-----下标是从0开始

ResultSet-------下标是从1开始

数据库中的数据表----------------下标是从0开始

*********************************************************



select * from  表名称  limit  开始下标 , 查询几条数据;


select * from inf2 limit 0,3;
*********************************************************************


假设每一页显示3条数据,

当前是第1页;     select * from inf2 limit 0 , 3;  
当前是第2页:      select * from inf2 limit 3 , 3
当前是第3页:      select * from inf2 limit 6 , 3
当前是第4页:      select * from inf2 limit 9 , 3


当前是第N页:      select * from inf2 limit ? , 3
开始下标的公式:   (当前页-1)* 每页显示的条数

统计数据表中,一共有几条数据?   select count(*) from 表        -------maxCount;

这些数据一共可以分几页?

maxCount---数据表中的数据总数
size = 3;  -----显示的时候,每一页显示3条数据


最多可以显示多少页 =  maxCount  % size == 0 ? maxCount /size: maxCount/size+1;




int maxPage =  18 %  3 ==0 ?18/3  :18 / 3+1 ;




做数据分页查询,必须知道四个数据:


1、当前是第几页
2、每一页显示几条数据
3、数据表一共有几条数据
4、最多可以分成多少页



编写类,用于保存分页的相关信息 


class Pagination

private  int index=1; //当前页
private int  size=3;//默认每一页显示3条数据
private int maxCount;//一共有几条数据

//这些数据最多可以分成多少页
public int getMaxPage(){
return maxCount % size==0?maxCount/size:maxCount/size+1;
}










分页的步骤:

1、编写分页类  Pagination

class Pagination

private  int index=1; //当前页
private int  size=3;//默认每一页显示3条数据
private int maxCount;//一共有几条数据

//这些数据最多可以分成多少页
public int getMaxPage(){
return maxCount % size==0?maxCount/size:maxCount/size+1;
}
2、 在窗体类中,创建一个全局变量  Pagination用于保存分页的信息

3、在Dao类,编写一个方法,查询数据表中,一共有几条数据

4、在窗体类中,调用dao方法,得到数据表的数据总数,并且保存到分页对象中

5、修改Dao类中的,getResult方法,让它接收一个分页对象作为参数

public ResultSet   getResult(){



return .....
}


6、修改窗体类中的代码,在查询数据的时候,把Pagination传递到Dao的方法中


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

只要当前页可以改变,查询的数据就会不同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值