最近学习数据库,查看API,本想用getFetchSize()返回获取resultSet的记录数,结果每次返回的都是0,上网查询,发现,getFetchSize()返回的是resultset一次从数据库取出的纪录数的buffer的大小,此大小默认是0,需要先setFetchSize,因此,为了实现获得记录数的方法,参考了其他博客的内容
参考文章:
getFetchSize()方法不是获得记录数,而是获得每次抓取的记录数,默认是0,也就是说不限制。
可以用setFetchSize()来设置,而getFetchSize()是用来读出那个设置值。
设置为正整数之后,ResultSet每次抓取的最多纪录数就有了上限,而不是所有符合条件的记录。
如果你是想获得符合条件的记录数目,最少有3种方法
1.
count=0; while(resultSet.next()){ count++; }
2.
resultSet.last(); count=resultSet.getRow();
3.
String sql = "select count(*) totalCount from gonglue"; count=rs.getInt("totalCount");
参考API自己想的一个分页查询个数方法:
//设定自己要从第几行开始取,比方说每页(page)有num条记录,想取第二页的10条记录可以计算 row=(page-1)*num;
ResultSet.absolute(row);
//设定每次取得个数
stmt.setFetchSize(num);
//查询
ResultSet rs = stmt.executeQuery(sql);
ResultSet rs = stmt.executeQuery(sql);