首先需要说明的是,这是是Model2的,不是其他框架。
我们知道,在Model2中往往使用Servlet调用Java Bean 访问数据库,最后使用实现类封装查询到的数据,但是往往我们不需要全部字段,只需要一张表中的几个字段,例如现在要从一张具有8个字段的表中取得字段1,3,5;这时候使用实现类封装数据就比较浪费琐碎,而且拓展性不够好,个人觉得使用List和Map的嵌套实现数据封装很好用,这里例举一下:
public List<Map<String,>> findXxxByXxx()
{
List<Map<String,Object>> XxxList=null;
Connection conn=DB.getConnection();//取得数据库连接,具体实现根据需求,这里可以采用try catch或者throws进行查询操作,具体根据自身需求
PreparedStatement stmt=null;
ResultSet rs=null;
String sql="select 字段1,字段3,字段5 from table_name where ***";//注意我们使用的是PreparedStatement
stmt=conn.prepareStatement(sql);
rs=stmt.executeQuery();
while(rs.next())
{
if(XxxList=null)XxxList=new ArrayList<Map<String,Object>>();
Map<String,Object> map=new HashMap<String, Object>();
map.put("字段1",rs.getXxx("字段1"));
map.put("字段3",rs.getXxx("字段3"));
map.put("字段5",rs.getXxx("字段5"));
XxxList.add(map);
}
rs.close();
stmt.close();
conn.close();//不一定要关掉数据库链接,这个连接可能还需要被其它函数调用
return XxxList;
}