JDBC中,ResultSet裏面方法提供了一些可移動指針的方法,例如以下幾個方法:
boolean absolute(int row) //將指針移動到此 ResultSet 對象的給定行編號
void afterLast() //將指針移動到此 ResultSet 對象的末尾,正好位於最後一行之後
void beforeFirst() //將指針移動到此 ResultSet 對象的開頭,正好位於第一行之前
boolean first() //將指針移動到此 ResultSet 對象的第一行
當我利用JDBC中查詢數據庫後,假如需要做判斷校驗,是否存在值時的操作:
if(!res.next()) {//只要調用了next()方法,指針就會移動一次
dto.setMsg("密碼不正確!");
dto.setCode(Result.FAILURE.getCode());
dto.setCount(0);
return dto;
}else {
user = new User.Builder().builder();
res.beforeFirst();//這裏需要將指針移回到第一行之前
while(res.next()){
user.setUsername(res.getString(2));
}
}
所以,什麼時候需要重新移動指針操作,根據自己需求。