在Java中,获得ResultSet的总行数的方法有以下几种。
第一种:利用ResultSet的getRow方法来获得ResultSet的总行数
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE)
ResultSet rset = stmt.executeQuery("select * from yourTableName")
rset.last()
int rowCount = rset.getRow()//获得ResultSet的总行数
第二种:利用循环ResultSet的元素来获得ResultSet的总行数
ResultSet rset = stmt.executeQuery("select * from yourTableName")
int rowCount = 0
while(rset.next()) {
rowCount++}rowCount就是ResultSet的总行数。
(1)首先使用last()方法,将数据库游标定位到记录集的最后一行。
(2)使用getRow()方法,返回记录集最后一行的行索引。该索引就等于记录集所包含记录的个数,也就是记录集的行数。getRow()方法是在JDBC API 2.0中才定义的,在JDBC API 1.0中没有这个方法。
mysql里面提供了很多方法来获取表结构和表列:如下方法获得某表所有列的信息:
String sql = select * from tname//tname为某一表名
Connection conn = ....
Statement st = conn.createStatement()
ResultSet rs = st.rs = st.executeQuery(sql)
ResultSetMetaData rsmd = rs.getMetaData()
int colcount = rsmd.getColumnCount()//取得全部列数
for(int i=0i<colcounti++){
String colname = rsmd.getColumnName(i)//取得全部列名
}
以上为某表字段具体查询,如果是查询表的信息,如在mysql服务器上那样的查询结果的话,可以用一下代码:
ResultSet.executeQuery("show tables")可以的到所有的表信息。
ResultSet.executeQuery("describe tname")可以得到表的字段信息。//tname为表名
查出来放到list 然后list.size()Query query = getSession().createSQLQuery(sql).
List list = query.list()
System.out.println("行数"+list.size())
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)