JDBC使⽤游标实现分页查询的⽅法
本⽂实例讲述了JDBC使⽤游标实现分页查询的⽅法。分享给⼤家供⼤家参考,具体如下:
/**
* ⼀次只从数据库中查询最⼤maxCount条记录
* @param sql 传⼊的sql语句
* @param startNo 从哪⼀条记录开始
* @param maxCount 总共取多少条记录
*/
public void getData(String sql,int startNo,int maxCount){
Connection conn = Connection();
try {
/
/ conn.prepareStatement(sql,游标类型,能否更新记录);
// 游标类型:
// ResultSet.TYPE_FORWORD_ONLY:只进游标
// ResultSet.TYPE_SCROLL_INSENSITIVE:可滚动。但是不受其他⽤户对数据库更改的影响。
// ResultSet.TYPE_SCROLL_SENSITIVE:可滚动。当其他⽤户更改数据库时这个记录也会改变。
// 能否更新记录:
// ResultSet.CONCUR_READ_ONLY,只读
// ResultSet.CONCUR_UPDATABLE,可更新
PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); //最⼤查询到第⼏条记录
pstat.setMaxRows(startNo+maxCount-1);
ResultSet rs = uteQuery();
//将游标移动到第⼀条记录
rs.first();
// 游标移动到要输出的第⼀条记录try catch的使用方法
())
System.out.Int(1));
} catch (SQLException e) {
e.printStackTrace();
}
}
/
**
* 从数据库中查询所有记录,然后通过游标来获取所需maxCount条记录
* @param sql 传⼊的sql语句
* @param startNo 从哪⼀条记录开始
* @param maxCount 总共取多少条记录
*/
public void getDataFromAll(String sql,int startNo,int maxCount){
Connection conn = Connection();
try {
PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); ResultSet rs = uteQuery();
rs.first();
int i = startNo-1;
while(i < startNo + maxCount-1 && !rs.isAfterLast()){
System.out.Int(1));
i++;
<();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
更多关于java相关内容感兴趣的读者可查看本站专题:《》、《》、《》和《》
希望本⽂所述对⼤家java程序设计有所帮助。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论