关于分页

想简单总结下写一个比较通用的分页的方法,虽然很简单,但还是值得一写的

我想要写一个通用的分页程序,最主要要包含三个部分:

1:一个分页的javabean文件,这个文件最主要要包含几个属性,pageNumber(第几页),totalCount(记录的总数),pageSize(一页多少条记录,默认10条),data(查询出的数据,一般为List)

2:dao层关于分页的查询,主要看系统的持久层是怎么设计,如果是用数据库的内置分页,那么就在程序里去组织三层嵌套的sql语句(oracle),如果是用jdbc分页的话,那么还要看这个jdbc的驱动是否支持rs.absolute()这个方法,在数据量不大的情况下可以用这个方法,因为数据库的游标只支持向后移动,所以要达到要前移动,或者从指定位置取数据的话,只能把所有的数据缓存在jvm的resultset中,而absolute方法正是这么做的.当然要用absolute方法,Resultset应该为TYPE_SCROLL_INSENSITIVE.

想反,很多人会认为用resultset的next方法会有效率问题,其实不是,next方法并不会把查询的所有结果缓存到内存中.所以,数据量大的情况下,用resultset不会有内存溢出问题,当然Resultset应该为forward_only.

总的来说就是在大数据量的情况下,用absolute会有内存溢出的危险,至少在oracle的jdbc上是这样的.

3.就是页面的展现了,这个就是根据需求来了.,一些计算的功能最好能就在javabean中实现,这样页面会比较简单,直接取值就可以.

当前我理解的分页大概就是这个样子,呼呼.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值