在jdbc查询出记录结果后,往往需要都结果集进行便利处理,下面记录一些便利方法和获取结果集总数的方法:
首先,获取结果集ResultSet:(使用的impala驱动)
Class.forName("com.cloudera.impala.jdbc41.Driver");
con = DriverManager.getConnection("jdbc:****;AuthMech=3;UID=root;PWD=root");
ResultSet resultSet = conn.createStatement().executeQuery("select * from tableName")
方法一:利用语句
String sql = select count(*) fcnt rom (select * from tableName) a;
ResultSet resultSet = conn.createStatement().executeQuery(sql);
int count = 0;
while(resultSet.next()){
count = rs.getInt("cut");
}
方法二:循环遍历结果集【和方法一类似】
ResultSet resultSet = st.executeQuery("select * from tableName");
int rowCount = 0;
while(resultSet.next()) {
rowCount++;
}
方法三:使用ResultSet的getRow()方法
resultSet.last(); //把指针移动到最后一行
int count = resultSet.getRow();
resultSet.first(); //在还是用结果集的情况下,一定要还原指针到第一行去!
获取所有字段:
ResultSetMetaData metaData = resultSet.getMetaData();
int col_len = metaData.getColumnCount(); // 字段集的长度
//循环遍历
for (int i = 1; i <= col_len; i++) {
String cols_name = metaData.getColumnName(i);
System.out.println(cols_name)
}