简介
ResultSet接口的特点
ResultSet用来存放数据库查询操作获得结果集,通过对ResultSet的操作可以获取查询到的结果集数据。
注意:ResultSet 对象中存放的并不是我们查询到的所有的结果集。它采用分块加载的方式来载入结果集数据。
ResultSet特点
- ResultSet 对象具有指向其当前数据行的指针。最初,指针被置于第一行之前。next 方法将指针移动到下一行;因为该方法在 ResultSet 对象中没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。
- 默认的 ResultSet 对象仅有一个向前移动的指针。因此,只能迭代它一次,并且只能按从第一行到最后一行的顺序进行。
- ResultSet 接口提供用于获取当前行检索列值的获取方法(getBoolean、getLong 等)。可以使用列的索引位置或列的名称检索值。
使用原理
通过ResultSet获取查询结果
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class ResultSetTest {
/**
* 查询所有用户
*/
public void selectUsers(){
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
connection = JDBCUtils.getConnection();
preparedStatement = connection.prepareStatement("select * from users");
resultSet=preparedStatement.executeQuery();
while(resultSet.next()){
int userid = resultSet.getInt("userid");
String username = resultSet.getString("username");
int userage = resultSet.getInt("USERAGE"); //不区分大小写
System.out.println(userid+" "+username+" "+userage);
}
}catch (Exception e){
e.printStackTrace();
}finally {
JDBCUtils.clossResource(resultSet,preparedStatement,connection);
}
}
}