第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

dao中方法get() ,獲得一個對象時為何還要while(rs.next)?

public goddess get(Integer id) throws Exception{
??Connection conn=DBUtil.getConnection();
??String sql=""+
???" select * from goddess "+
???" where id =? ";
??PreparedStatement ptmt=conn.prepareStatement(sql);
??ptmt.setInt(1, id);?
??ResultSet rs=ptmt.executeQuery();//executeQuery()用來執(zhí)行查詢
????? goddess g;
???g=new goddess();
???while(rs.next()){
????g.setUser_name(rs.getString("user_name"));
????g.setAge(rs.getInt("age"));
????g.setEmail(rs.getString("email"));
???}
???return g ;
?}

既然數(shù)據(jù)庫查詢返回已經(jīng)是一個條目了,為什么還要循環(huán)賦值?

難道rs.next() 不是讀取下一個條目?

正在回答

3 回答

每次返回的都是一個結(jié)果集,哪怕結(jié)果集是只有一個元素

0 回復 有任何疑惑可以回復我~

我也覺得沒必要,因為傳入的是ID,ID 唯一。但我覺得如果傳入的參數(shù)是生日或姓名等可能重復的條件,該語句就變得有意義了,所以說應該是編寫習慣,這樣的程序更具有普遍性。

0 回復 有任何疑惑可以回復我~

判斷返回集是否有數(shù)據(jù),有則為true

然后由于get方法是通過id獲取數(shù)據(jù),而id設為主鍵,所以id唯一,實際上如果讀取到數(shù)據(jù),rs.nest()為true,此時返回集也只有一個數(shù)據(jù),下次rs.nest()的值就為false,然后該段代碼退出死循環(huán)

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

dao中方法get() ,獲得一個對象時為何還要while(rs.next)?

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號