public List<Bank> getKhxxInfos(Connection con){ String sql = "SELECT DH,DZ,KHBH,ZJHM,XM FROM T_YW_KHXXB"; List<Bank> list = new ArrayList<Bank>(); try { PreparedStatement ps = con.prepareStatement(sql); ResultSet rs = ps.executeQuery(); while(rs.next()){ Bank bk = new Bank(); bk.setDh(rs.getString("DH")); bk.setDz(rs.getString("DZ")); bk.setKubh(rs.getInt("kubh")); bk.setXm(rs.getString("xm")); bk.setZjlx(rs.getString("zjlx")); list.add(bk); } } catch (SQLException e) { e.printStackTrace(); } return list;}
List<?> 這裡面放什麼.要看你List裡存放什麼類型.就像你上面的這個程式.你查詢出來的資料放到Bank這個bean中.再把bean放到List中.那麼如果 要用泛類型的話,那就List<Bank> bankList = new ArrayList<Bank>();如果 我現在查詢出的String sql = "SELECT ZJHM FROM T_YW_KHXXB";這查詢出來的是一列.如果 這一列是一個字元類型的話.你可以這麼寫List<String> list = new ArrayList<String>();list.add(rs.getString("ZJHM"));
Bank是一個類,裡麵包含了setDh(),setD(),setKubh(),setXm(),setZjlx()方法,所以你執行個體化Bank後可以調用這些方法。而list就是儲存著Bank類型的列表,list是java集合的一種,它是抽象的介面,實現它的有arraylist,linkedlist等。
泛型就是在編譯期間限制類型。你上面的List<bank> 裡是你這個集合裡放的對象的類型為你自己定義的Bank類型,如List<String> 就是為string的list
根據你的程式,放的應該是bank對象,泛型,簡單點說就是控制你的容器中存放的內容,好處是當你解析或遍曆容器的時候,不需要強轉類型,沒有裝箱和拆箱的過程,效率上比不用泛型的要快一下,代碼識別上也容易編寫.
泛型集合!!指定List存放的類型;
程式分析:這個程式是對資料庫T_YW_KHXXB表進行查詢的操作;
1.定義T_YW_KHXXB表所對應的實體Bank 其中每個屬性與T_YW_KHXXB表中的欄位一一對應
2.聲明sql查詢語句 String sql = "SELECT DH,DZ,KHBH,ZJHM,XM FROM T_YW_KHXXB";
3.List<Bank> list = new ArrayList<Bank>();定義一個集合儲存Bank實體物件
4.PreparedStatement ps = con.prepareStatement(sql); ResultSet rs = ps.executeQuery();執行SQL語句並返回ResultSet對象集(結果集)
5.把結果集讀取出來並存入List集合對象當中,讓後返回這個List集合對象