JDBC核心API-ResultSet
ResultSet接口维护着一个记录光标,该光标指向表的一行。最初,光标指向第一行之前。
注意:默认情况下,ResultSet的光标只能向前移动,并且不可更新。
但是我们可以通过在createStatement(int,int) 方法中传递TYPE_SCROLL_INSENSITIVE或TYPE_SCROLL_SENSITIVE可以使光标向前和向后移动,且还可以通过以下代码使ResultSet对象可更新:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
1 ResultSet接口的常用方法
方法 | 说明 |
---|---|
public boolean next() | 用于将光标从当前位置移到下一行。 |
public boolean previous() | 用于将光标从当前位置移到上一行。 |
public boolean first() | 用于将光标移动到结果集对象的第一行。 |
public boolean last() | 用于将光标移动到结果集对象的最后一行。 |
public boolean absolute(int row) | 用于将光标移动到ResultSet对象中的指定行号。 |
public boolean relative(int row) | 用于将光标移动到ResultSet对象中的相对行号,它可以是正数或负数。 |
public int getInt(int columnIndex) | 用于根据列索引查询该列数据。(int类型) |
public int getInt(String columnName) | 用于根据列名称查询该列数据。(int类型) |
public String getString(int columnIndex) | 用于根据列索引查询该列数据。(String类型) |
public String getString(String columnName) | 用于根据列名称查询该列数据。(String类型) |
2 可滚动ResultSet的示例
让我们看一下ResultSet接口查询表的第3行记录的示例:
package com.yiidian;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
/**
* 一点教程网 - http://www.yiidian.com
*/
public class FetchRecord {
public static void main(String args[])throws Exception{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=stmt.executeQuery("select * from t_user");
//获取第3行记录
rs.absolute(3);
System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3));
con.close();
}
}
热门文章
优秀文章