ResultSet讀取數據將指針移到第一行或開頭或末尾

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));
           }
        
}

所以,什麼時候需要重新移動指針操作,根據自己需求。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章