ResultSet: 结果集。 封装了使用JDBC进行查询的结果
1. 调用Statement 对象的 executeQuery(sql) 可以得到结果集。
2. ResultSet 返回的实际上就是一张数据表 有一个指针指向数据表的第一样的前面。
可以调用next() 方法检测下一行是否有效 若有效该方法返回true 且指针下移。
Iterator 相当于hasNext() 和next() 方法的结合体
3. 当指针对位到一行时,可以通过调用getXxx(index) 或者 getXxx(columnName)
获取每一列的值 列如 : getInt(1) , getString(“name”)
** 注意 ** 这里getXxx(index) 是从下标 1 开始的。
4. ResultSet 当然也需要进行关闭
public void testResultSet()
{
// 获取id = 4 的customers 数据表的记录 并打印
Connection conn = null;
Statement statement = null;
ResultSet rs = null;
try {
//1. 获取Connection
conn = JDBCTools.getConnection();
//2. 获取Statement
statement = conn.createStatement();
//3. 准备SQL
String sql = "SELECT id,name,email FROM customers";
//4. 执行查询, 得到ResultSet
rs = statement.executeQuery(sql);
//5. 处理ResultSet
if(rs.next())
{
int id = rs.getInt(1);
String name = rs.getString(2);
String email = rs.getString(3);
System.out.println(id);
System.out.println(name);
System.out.println(email);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
//6. 关闭数据库源 这是调用JDBCTools 关闭数据库的方法
JDBCTools.release(rs, statement, conn);
}
}