用sql直接取所需数据吧 比如取第31-40条 我是这么所的. 一条sql分以下三部.(排序字段不限) 1.检索出前40条,即1-40 (select top 40 from test where t1="abc" order by t1 asc) as a 2.根据1检索的记录集反向排序检索出前10条,即40-31条 (select top 10 from a order by t1 desc) as b 3.根据2检索的记录集再反向排序检索出前10条,即31-40. select top 10 from b order by t1 asc 最后连起来就行了
2.request.getAttribute(key);
value就是数据集合,比如list,map....
3.建议将提取数据的相关操作写成存储过程,提高系统性能
可以断开conn,stmt将RowSet放在Cach中,效率比较高.对性能没有什么影响.
倒是可以通过一次传递XML格式的数据到客户端,再通过JS对XML的解析进行分页操作,在1000条数据集的情况下性能很好.
绝对数量不大的表采用这种办法分页是可以的,可以做出很多漂亮的表示方法。但数据量不小的时候,最好是能够做到显示几条就返回几条,可以通过 Object map、存储过程或者直接在应用服务端编程等几种方法实现,具体视情况而定!
比如取第31-40条
我是这么所的.
一条sql分以下三部.(排序字段不限)
1.检索出前40条,即1-40
(select top 40 from test where t1="abc" order by t1 asc) as a
2.根据1检索的记录集反向排序检索出前10条,即40-31条
(select top 10 from a order by t1 desc) as b
3.根据2检索的记录集再反向排序检索出前10条,即31-40.
select top 10 from b order by t1 asc
最后连起来就行了