DAO类首先是继承了HibernateDaoSupport 类的
//这里是一个查询在<pre name="code" class="java">getHibernateTemplate()对象的execute()方法这里需要一个内部类 执行<span style="font-family: Arial, Helvetica, sans-serif;">doInHibernate()方法</span>
public int executeUpdateSql(final String sql)
{
return (Integer)getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createSQLQuery(sql);
return query.executeUpdate();
}
});
}
public List<String[]>queryPagerListWithArrayBySql(final String countSql,final String strSql,Pager pager){
List<String[]>result= new ArrayList<String[]>();
try{
List<Object[]> items= (List<Object[]>) this.getHibernateTemplate().executeFind(new SqlPageSupport(countSql, strSql, pager));
for(Object[] objs : items){
String []s = new String[objs.length];
for(int i=0;i<objs.length;i++){
s[i]=(objs[i]==null?"":String.valueOf(objs[i]));
}
result.add(s);
}
}catch(Exception e){
e.printStackTrace();
}
return result;
}
public List<String[]> queryListWithArrayBySql(final String strSql){
List<String[]>result= new ArrayList<String[]>();
try{
List<Object[]> items= (List<Object[]>) this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
//query
Query query = session.createSQLQuery(strSql);
List list = query.list();
return list;
}
});
for(Object[] objs : items){
String []s = new String[objs.length];
for(int i=0;i<objs.length;i++){
s[i]=(objs[i]==null?"":String.valueOf(objs[i]));
}
result.add(s);
}
}catch(Exception e){
e.printStackTrace();
}
return result;
}