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;  
               }
       });
    }
}

posted @ 2013-05-09 13:07  心的旋律  阅读(165)  评论(0)    收藏  举报