在滚动结果集中可用的方法有

rs.previous();//向前滚动

rs.next();//向后滚动

rs.getRow();//得到当前行号

rs.absolute(n);//光标定位到n行

rs.relative(int n);//相对移动n行

rs.first();//将光标定位到结果集中第一行。

rs.last();//将光标定位到结果集中最后一行。

rs.beforeFirst()//将光标定位到结果集中第一行之前。

rs.afterLast();//将光标定位到结果集中最后一行之后。

rs.moveToInsertRow();//光标移到插入行

rs.moveToCurrentRow();//光标移回到调用

rs.moveToInsertRow()方法前光标所在行

//测试光标位置

rs.isFirst()

rs.isLast()

rs.isBeforeFirst()

rs.isAfterLast()

在可更新结果集中可用的方法有:(单表)

rs.insertRow();//把插入行加入数据库和结果集

rs.deleteRow();//从数据库和结果集中删除当前行

rs.updateXXX(int column,XXX data);XXX代表int/double/String/Date中类型之一

rs.updateXXX(String columnName,String Data); //以上两个方法更新结果集当前行

rs.updateRow();//更新内容发送到更新数据库

ResultSetMetaData
可以根据 ResultSet.getMetaData() 方法获得 ResultSetMetaData
通过该对象可以得到表的结构,包括 列名,列的个数,列数据类型

获取列名
ResultSetMetaData.getColumnName(i);
获取第 i 位的列名

获取列个数
ResultSetMetaData.getColumnCount();
获取列的个数

获得列类型
ResultSetMetaData.getColumnType(i);
获取第 i 位的列类型,对应java.sql.Types中的值

ResultSetMetaData.getColumnTypeName(i);
获取第 i 位的列类型名称

  1. ResultSet rs;
  2. ResultSetMetaData metaData = rs.getMetaData();
  3. while (rs.next()) {
  4. for (int i = 0; i < metaData.getColumnCount(); i++) {
  5. String col_name = metaData.getColumnName(i + 1);// 获取列名
  6. log.info(i + col_name);
  7. Object value = rs.getObject(col_name);//获取列对应的值。
  8. }

注意事项

hive中不支持last方法