ResultSet获取记录条数

本文介绍了三种在Java中使用JDBC API获取ResultSet记录总数的方法:通过调用last()和getRow()方法、循环遍历结果集及使用SQL COUNT函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JDBC中的ResultSet API没有直接获取记录条数的方法,现在介绍几个可以获得结果集记录条数的方法。


给定下面的代码,想要获取查询结果集的记录条数

Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/sampledb";
Connection conn = DriverManager.getConnection(url, "root", "root");
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select * from worker");

方法一:利用ResultSet的getRow方法来获得ResultSet的总行数

ResultSet rs = st.executeQuery("select * from worker");   
rs.last(); // 将光标移动到最后一行   
int rowCount = rs.getRow(); // 得到当前行号,即结果集记录数

PS:如果还要用结果集,就把指针再移到初始化的位置  rs.beforeFirst(); /


方法二:利用循环ResultSet的元素来获得ResultSet的总行数

ResultSet rs = st.executeQuery("select * from worker"); 
int rowCount = 0;
while(rs.next()) {
    rowCount++;
} 

方法三:利用SQL语句来查询

String sql = "select count(*) rec from (select * from worker) ww";
ResultSet rs = st.executeQuery(sql);
int rowCount = 0;
while (rs.next()) {
    rowCount = rs.getInt("rec");
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值