一、ResultSet: 结果集. 封装了使用 JDBC 进行查询的结果.
1. 调用 Statement 对象的 executeQuery(sql) 可以得到结果集.
2. ResultSet 返回的实际上就是一张数据表. 有一个指针指向数据表的第一样的前面.可以调用 next() 方法检测下一行是否有效. 若有效该方法返回 true, 且指针下移. 相当于Iterator 对象的 hasNext() 和 next()方法的结合体
3. 当指针对位到一行时, 可以通过调用 getXxx(index) 或 getXxx(columnName)获取每一列的值. 例如: getInt(1), getString("name")
4. ResultSet 当然也需要进行关闭.
二、测试代码:
@Test
public void testResultSet() throws Exception{
Connection conn=null;
Statement st=null;
ResultSet rs=null;
try {
/*
* 1、获取Connection连接
* 2、获取Statement
* 3、SQL语句
* 4、执行查询,得到ResultSet
* 5、处理ResultSet
* 6、关闭数据库连接
*
* */
conn=JDBCTools.getConnection();
st=conn.createStatement();
String sql="select id,name,email,birth from customers where id=1";
rs=st.executeQuery(sql);
if (rs.next()) {
int id=rs.getInt(1);
String name=rs.getString(2);
String email=rs.getString(3);
Date birth=rs.getDate(4);
System.out.println(id+" "+name+" "+email+" "+birth);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
JDBCTools.release(rs, st, conn);
}
}