结果集到分页如何将Resultset对象转换为JSP上的分页视图?例如,这是我的查询和结果集:pst = con.prepareStatement("select userName, job, place from contact");rs = pst.executeQuery();
3 回答

繁花不似锦
TA贡献1851条经验 获得超4个赞
这个Oracle示例是错误的。
是的,在外部选择具有良好的ROWNUM值,但它仍然是伪列,所以我们不能使用BETWEEN。我们还需要一个选择。
正确的sql代码是:
SELECT c.* FROM (SELECT c.*, ROWNUM as rnum FROM (SELECT id, username, job, place FROM contact ORDER BY id) c) c WHERE c.rnum BETWEEN 5 AND 10
同志们,使用solid sql string和Statement类是SLOOOW。每次执行时,Oracle都必须解析SQL。
//Slooow exampleSatement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select * from my_table where id = 11");
使用PreparedStatement和绑定参数。
//Faster example PreparedStatement ps = conn.getPrepareStatement("select * from my_table where id = ?"); ps.setInt(1, 11);
最快的解决方案是将你的sql放在oracle存储过程中并使用CallableStatement来调用它。
//Fastest exampleCallableStatement cs = conn.prepareCall("{? = call my_plsql_function(?)}");cs.setInt(1, 11);

一只斗牛犬
TA贡献1784条经验 获得超2个赞
以下是您可以做的几件事:
将结果集设置为某些对象/记录列表
根据您所需的页面大小,根据结果集确定您将拥有多少页面。
根据要在页面上显示的项目数检查所需页面的请求参数和偏移量。因此,如果您在第4页上显示12,则偏移量为48。
根据项目数确定总页数。
根据您确定的偏移量显示您的项目(仅显示从第48项开始)
根据您确定的总页数生成页面数量的分页。
=======
这是你的基本方法。你可以用以下方法调整:
确定将查询限制到页面的方法(但这不会帮助您确定页面大小)
奇特的分页方式
等等..
添加回答
举报
0/150
提交
取消