java简单实现分页查询
2016-11-15 14:07
615 查看
PreparedStatement
使用PreparedStatement可以较为简单地实现分页,涉及到三个函数1.
PreparedStatement.setMaxRows(int)这个函数设置一个当前的preparedStatement能取得的行的最大值,例如setMaxRows(20),那么就只能取得1到20的数据,ResultSet.absolute(100)就错了,虽然该查询语句可以查到不止100条数据
2.
ResultSet.absolute(int),将ResultSet的游标移动到一个固定的行,例如,执行一次absolute(10)之后游标指向第10行,再执行absolute(10)没有改变,api中指出absolute(0)可以用,但是某些版本的mysql不能执行absolute(0),参数可以为负数,为负数的时候就加上resultset的size,例如absolute(-1)会到记录的最后一条
3.
ResultSet.relative(int),将ResultSet的游标移动固定的行,例如,执行一次relative(10)之后游标指向第10行,再执行relative(10)游标指向第20行
limit
mysql 可以使用limit sql语句分页,select * from table limit m,n;
选取从m(0开始)开始,长度为n的数据
代码
/** * @param page 获取第几页 * @param rows 每一页获取几条数据 * @param conn 数据库连接 */ public static ResultSet pageWithAbsolute(int page,int rows,Connection conn) throws SQLException { PreparedStatement pst=conn.prepareStatement("SELECT * FROM test "); pst.setMaxRows(page*rows);//设置为需要获取的最后一个数据 ResultSet rs=pst.executeQuery(); rs.absolute((page-1)*rows);//设置为需要获取的第一个数据 return rs; } /** * @param page 获取第几页 * @param rows 每一页获取几条数据 * @param conn 数据库连接 * */ public static ResultSet pageWithRelative(int page,int rows,Connection conn) throws SQLException { PreparedStatement pst=conn.prepareStatement("SELECT * FROM test "); pst.setMaxRows(page*rows);//设置为需要获取的最后一个数据 ResultSet rs=pst.executeQuery(); rs.relative((page-1)*rows);//设置为需要获取的第一个数据 return rs; } /** * @param page 获取第几页 * @param rows 每一页获取几条数据 * @param conn 数据库连接 * */ public static ResultSet pageWithLimit(int page,int rows,Connection conn) throws SQLException { PreparedStatement pst=conn.prepareStatement("SELECT * FROM test limit ?,?"); pst.setInt(1,(page-1)*rows); pst.setInt(2,rows); ResultSet rs=pst.executeQuery(); return rs; }
相关文章推荐
- Java实现简单分页查询显示
- JSP实现的Java通用简单分页算法之三
- 通过JAVA反射实现简单的ORM,将查询结果封装为对象
- Atitit.列表页面and条件查询的实现最佳实践(2)------翻页 分页 控件的实现java .net php
- SSH分页(Hibernate实现简单分页查询)
- JAVA学习之 实现分页查询
- jsp+servlet+javabean实现简单的查询
- mybatis+oracle实现分页查询--非常简单实用
- 02_java Lucene学习——searchAfter实现简单的分页
- Ext js 4 简单实现分页查询续--客户端分页
- java中list数据拆分为sublist实现分页的简单代码
- 原创:仿Baidu,Google查询分页技术JAVA实现
- Java中实现DataTable工具类,并利用其实现简单分页控件。
- 简单实现QT4数据库分页查询
- MyBatis简单的增删改查以及简单的分页查询实现
- 用简单工厂方法设计的数据库查询(JAVA代码实现)
- 每天看一遍 仿Baidu,Google查询分页技术JAVA实现
- Java程序员从笨鸟到菜鸟之(六十九)细谈Hibernate(十七)Hibernate实现分页和综合查询详解
- Java中实现DataTable工具类,并利用其实现简单分页控件。
- Java实现分页查询