JDBC获取总记录数

原创 2014年11月09日 22:59:55

JDBC中的ResultSet API没有直接获取记录条数的方法,现介绍几个:

【1】利用ResultSet的getRow方法来获得ResultSet的总行数

ResultSet rs;     
rs.last(); //移到最后一行     
int rowCount = rs.getRow(); //得到当前行号,也就是记录数     
rs.beforeFirst(); //如果还要用结果集,就把指针再移到初始化的位置  

【2】利用循环ResultSet的元素来获得ResultSet的总行数

ResultSet rs;     
int rowCount = 0;      
while(rset.next()) {      
     rowCount++;      
}   


【3】利用sql语句中的count函数获得ResultSet的总行数

public static int getRowsCount(){
		String sql = "SELECT COUNT(*) FROM user;";
		int rowCount = 0;
		try {
			Connection con = ConnectionUtil.getConnection();
			Statement sta = con.createStatement();
			ResultSet res = sta.executeQuery(sql);
			while(res.next()){
				rowCount = res.getInt(1);
			}
			ConnectionUtil.closeConnection(con);
			ConnectionUtil.closeStatement(sta);
			ConnectionUtil.closeResultSetCon(res);
			
		} catch (Exception e) {
			// TODO: handle exception
		}
		return rowCount;
	}


 

从测试结果看,第三种方式效率最高,第二种方式次之,ResultSet的getRow方法效率最低。由此看来,要获取 一条SQL查询语句返回的记录数,单执行一条SQL去获取要比通过ResultSet对象获取来得实惠。


 

 

JDBC获取记录总数

参考资料: http://blog.csdn.net/chenzhanhai/article/details/6257066 http://hi.baidu.com/nboy2006/item/f...
  • ID_Rin
  • ID_Rin
  • 2017年01月06日 20:02
  • 1931

关于JAVA的JDBC如何获取查询的记录条数

直接看代码,三种方法: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSe...
  • w541826816
  • w541826816
  • 2014年04月24日 20:12
  • 2742

使用JDBC获取select count(*) from table_name

public int getCount() { int count = 0; PreparedStatement ps = null;         ResultSet rs = null; ...
  • zhaozhihang1234
  • zhaozhihang1234
  • 2015年12月01日 14:15
  • 3480

MySql——得到ResultSet的记录个数的正确方法

场景: Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jd...
  • youzhouliu
  • youzhouliu
  • 2016年07月26日 17:17
  • 3049

oracle count 百万级 分页查询记录总数、总条数优化

看到不错的文章记录一下:http://chwshuang.iteye.com/blog/1537487 oracle count 百万级 查询记录总数、总条数优化   最近做一个项目时,做分页...
  • u012903926
  • u012903926
  • 2015年08月13日 21:52
  • 3001

HibernateTemplate() 获取最大记录数/记录总数/总数

//第一种方法: 获取最大记录数/记录总数/总数" align="top" style="margin:0px; padding:0px; border:0px; list-style:none">...
  • Name_xiaoai
  • Name_xiaoai
  • 2014年04月17日 10:46
  • 6666

JDBC获取新增记录的自增主键

常常在使用Hibernate、iBatis时候,当插入一条数据的时候,实体Bean的原空主键就 赋上新值了,但是用原生sql怎么解决呢,或者说框架实现这个的原理呢 参见测试类,执行以...
  • u013614451
  • u013614451
  • 2015年03月08日 17:18
  • 563

JDBC( 八) 获取插入记录的主键。

在MYSQL中,主键往往是这种自动生成的且是自增的,可以通过jdbc来获取刚刚插入的一条记录的主键,具体做法就是在创建Statement或prepareSatement对象的时候,加上参数 RETUR...
  • qq_25201665
  • qq_25201665
  • 2016年08月31日 15:17
  • 170

JDBC_获取插入记录的主键值

取得数据库自动生成的主键 Connection conn = JdbcUtil.getConnection(); String sql = "insert into user(name,passwo...
  • xuejavaweb
  • xuejavaweb
  • 2015年05月14日 23:20
  • 264

使用JDBC获取插入记录的自增主键值

对于如下的表结构:mysql> describe persons; +-------+--------------+------+-----+---------+----------------+ |...
  • lgh1992314
  • lgh1992314
  • 2017年07月28日 11:06
  • 199
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JDBC获取总记录数
举报原因:
原因补充:

(最多只允许输入30个字)