MySQL數(shù)據(jù)庫干貨_28——ResultSet的使用
ResultSet的使用
ResultSet簡介
ResultSet接口的特點
ResultSet用來存放數(shù)據(jù)庫查詢操作獲得結(jié)果集,通過對ResultSet的操作可以獲取查詢到的結(jié)果集數(shù)據(jù)。
注意:
ResultSet 對象中存放的并不是我們查詢到的所有的結(jié)果集。它采用分塊加載的方式來載入結(jié)果集數(shù)據(jù)。
ResultSet特點
- ResultSet 對象具有指向其當(dāng)前數(shù)據(jù)行的指針。最初,指針被置于第一行之前。next 方法將指針移動到下一行;因為該方法在 ResultSet 對象中沒有下一行時返回 false,所以可以在 while 循環(huán)中使用它來迭代結(jié)果集。
- 默認的 ResultSet 對象僅有一個向前移動的指針。因此,只能迭代它一次,并且只能按從第一行到最后一行的順序進行。
- ResultSet 接口提供用于獲取當(dāng)前行檢索列值的獲取方法(getBoolean、getLong 等)。可以使用列的索引位置或列的名稱檢索值。
通過ResultSet獲取查詢結(jié)果
/**
* 獲取結(jié)果集測試類
*/
public class ResultSetTest {
/**
* 查詢所用用戶
*/
public void selectUsersAll(){
Connection connection = null;
PreparedStatement ps = null;
ResultSet resultSet = null;
try{
//獲取數(shù)據(jù)庫連接
connection = JdbcUtils.getConnection();
//創(chuàng)建PreparedStatement對象
ps = connection.prepareStatement("select * from users");
//執(zhí)行查詢
resultSet = ps.executeQuery();
//操作ResultSet對象獲取查詢的結(jié)果集
while(resultSet.next()){
//獲取列中的數(shù)據(jù)
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.closeResource(resultSet,ps,connection);
}
}
}
浙公網(wǎng)安備 33010602011771號