亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

本節視頻最后根據姓名的查詢怎么可能得到字段信息呢?

		GoddessDAO?gd?=?new?GoddessDAO();
		
		//根據姓名查詢女神信息
		List<Goddess>?gs?=?gd.query("小美");
		System.out.println("查詢結果有"+gs.size()+"條記錄:");
		for(int?i=0;i<gs.size();i++){
			System.out.println(gs.get(i).toString());
		}

查詢結果為:

select?*?from?imooc_goddess?where?user_name=?
查詢結果有1條記錄:
entity.Goddess@5ce65a89

視頻中的result.get(i)得到的應該是小美這個Goddess對象吧?

不明白為什么老師不需要getter方法、只用toString()是怎么得到Goddess對象的字段信息的?。?!

正在回答

3 回答

重寫tostring方法了

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

我自己找到如何遍歷女神信息的方法了!老師估計是漏錄了部分代碼。

以下是GoddessAction中,利用Field類遍歷所查找女神信息的方法:

		for(int?i=0;i<gs.size();i++){
			System.out.println("******第"+(i+1)+"條記錄******");
			for(Field?f:gs.get(i).getClass().getDeclaredFields()){
				//private字段需要先獲取權限
				f.setAccessible(true);
				//注意get方法括號內是類類型的實例(obj或類名.Class.newInstance())
				System.out.println(f.getName()+"="+f.get(gs.get(i)));//之前報錯寫的是f.get(f)
			}
		}


1 回復 有任何疑惑可以回復我~
/**
	?*?在query方法中傳入參數,如根據女神姓名來查詢
	?*?@return
	?*?@throws?SQLException?
	?*/
	public?List<Goddess>?query(String?name)?throws?SQLException{
		//實例化和變量初始化
		List<Goddess>?gs?=?new?ArrayList<Goddess>();
		Goddess?g?=?null;
		StringBuilder?sb?=?new?StringBuilder();
		sb.append("select?*?from?imooc_goddess?");
		//sql查詢條件最好分開寫
		sb.append("where?user_name=?");
		
		Connection?conn?=?DBUtil.getConnection();
//			//這種方式明顯對維護不友好,棄用
//			Statement?stmt?=?conn.createStatement();
//			ResultSet?rs?=?stmt.executeQuery("select?user_name,age?from?imooc_goddess");
		//sql預編譯
		PreparedStatement?ptmt?=?conn.prepareStatement(sb.toString());
		ptmt.setString(1,?name);
		System.out.println(sb.toString());
		//執行查詢
		ResultSet?rs?=?ptmt.executeQuery();
		
		//每循環一次需要new一個Goddess對象,并add到gs中
		while(rs.next()){
			g?=?new?Goddess();
			g.setId(rs.getInt("id"));
			g.setUser_name(rs.getString("user_name"));
			g.setAge(rs.getInt("age"));
			g.setSex(rs.getInt("sex"));
			//注意:java.sql.Date是java.util.Date的子集,可直接轉換?。。?			g.setBirthday(rs.getDate("birthday"));
			g.setEmail(rs.getString("email"));
			g.setMobile(rs.getString("mobile"));
			g.setCreate_date(rs.getDate("create_date"));
			g.setCreate_user(rs.getString("create_user"));
			g.setUpdate_date(rs.getDate("update_date"));
			g.setUpdate_user(rs.getString("Update_user"));
			g.setIsdel(rs.getInt("isdel"));
			gs.add(g);
		}
		
		return?gs;
	}

這是我的含參的query方法

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

舉報

0/150
提交
取消

本節視頻最后根據姓名的查詢怎么可能得到字段信息呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號