SSH中Spring的hibernateTemple中提供一个得到result数据集的代码,对于SSH初学者而言,这样能将baseDao的代码融合到其中
说明:这个方法在java标准中是属于过期的语法不过在这里可以声明 @SuppressWarnings("deprecation")//表示不检测过期的方法
public List<Room> getRoomTypes(){
final String sql="select distinct Room_Type from Room";//标准的sql语句,并不需要hql语句
final List<Room> al=new ArrayList<Room>();
return this.getHibernateTemplate().execute(new HibernateCallback(){//实例化这个abstract实现doInHibernate方法
@SuppressWarnings("deprecation")//表示不检测过期的方法
public List<Room> doInHibernate(Session session) throws HibernateException, SQLException {
Connection con = session.connection(); //得到数据库的连接--说明:这个方法已经被废弃了。所以在以后的使用中尽量使用spring框架自带的方法
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while(rs.next()){
Room myroom=new Room();
String result = (String)rs.getString(1);
myroom.setRoomType(result);
al.add(myroom);
}
rs.close(); //关闭ResultSet
ps.close(); //关闭PreparedStatement
session.flush();
session.close();
return al;
}
});
}
}

浙公网安备 33010602011771号