打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Java JDBC 中获取 ResultSet 的大小

当我们执行完一条Sql语句,获取到一个 ResultSet 对象后,有时我们需要立即知道到底返回了多少个元素,但是 ResultSet 并没有提供一个 size() 方法 or length 的属性,我们可以一个一个调用 next() 去累加计算,但是我们还有更好的办法 :

 

PreparedStatement statement = ......;

ResultSet results = statement.executeQuery();

// 将游标移动到最后一行上

results.last(); 

// 得到当前的 row number,在 JDBC 中,row number 从1开始,所以这里就相当于行数

int rowCount = results.getRow();

//此时游标执行了最后一行,如果我们后面还想从头开始调用 next()遍历整个结果集,我们可以将游标移动到第一行前面

results.beoreFirst();

// 通过上述这步操作,我们算是回复了结果集到初始状态(即刚查询出来的状态)

 

注意 :上述这一系列移动游标的操作是有前提的,我们的结果集必须是 scrollable(可滚动的) !这个是由 statement 对象决定,我们在创建 statement 对象可以指定如下参数 :

 

conn = getConnection();
statement = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

通过上述 statement 获取的 ResultSet 就是可以滚动的,如果我们只是 conn.prepareStatement(sql) 来获取的 statement 对象,是不可以滚动的(只可以调用 next() 向前遍历),调用任何上述移动游标的方法,都会抛出 SQLException .

 

ResultSet 还为我们定义了如下常量 :

ResultSet.TYPE_FORWARD_ONLY只能向前滚动
ResultSet.TYPE_SCROLL_INSENSITIVE和Result.TYPE_SCROLL_SENSITIVE这两个方法都能够实现任意的前后滚动,使用各种移动的ResultSet指针的方法。

 

 


————————————————
版权声明:本文为CSDN博主「DrifterJ」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/drifterj/article/details/17720271

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Java中JDBC常见对象
JDBC技术和数据库连接池专题
采用JDBC进行数据库分页查询 - 我的java历程 - BlogJava
JDBC性能技巧:选用JDBC对象和方法
JAVA ResultSet概论
JDBC ResultSet分析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服