问题是这样的,网站首页需要显示一些记录,感觉速度有些慢,
查询出6条数据,以list形式存到session里,jsp获取session里的list,将6条数据取出来
显示到页面上,下面是代码,是否有问题?还能怎么优化下。可以给点建议吗
jsp页面:List listGg=(ArrayList)request.getAttribute("listGg");action层:
String hql2="from News order by operateDate desc ";
List listGg=dao.find(hql2, 0, 6);
request.setAttribute("listGg", listGg);
dao层:
public List find(String hql, int offset, int size)
throws HibernateException { Session session = (Session) HibernateBase.getCurrentSession();
Transaction transaction = null;
try {
transaction = HibernateBase.getTransaction(session);
Query query = session.createQuery(hql);
query.setFirstResult(offset);
query.setMaxResults(size);
List results = query.list();
transaction.commit();
return results;
} catch (HibernateException he) {
if (transaction != null) {
transaction.rollback();
HibernateBase.closeTransaction();
}
HibernateBase.closeSession();
throw he;
} finally {
HibernateBase.closeTransaction();
HibernateBase.closeSession();
}
}
查询出6条数据,以list形式存到session里,jsp获取session里的list,将6条数据取出来
显示到页面上,下面是代码,是否有问题?还能怎么优化下。可以给点建议吗
jsp页面:List listGg=(ArrayList)request.getAttribute("listGg");action层:
String hql2="from News order by operateDate desc ";
List listGg=dao.find(hql2, 0, 6);
request.setAttribute("listGg", listGg);
dao层:
public List find(String hql, int offset, int size)
throws HibernateException { Session session = (Session) HibernateBase.getCurrentSession();
Transaction transaction = null;
try {
transaction = HibernateBase.getTransaction(session);
Query query = session.createQuery(hql);
query.setFirstResult(offset);
query.setMaxResults(size);
List results = query.list();
transaction.commit();
return results;
} catch (HibernateException he) {
if (transaction != null) {
transaction.rollback();
HibernateBase.closeTransaction();
}
HibernateBase.closeSession();
throw he;
} finally {
HibernateBase.closeTransaction();
HibernateBase.closeSession();
}
}
解决方案 »
- 怎样用Java写一个过滤器?
- 如何运行多个线程,每个线程使用一个网络代理进行访问
- 标题栏如何去掉IP地址的显示???
- 求助!hibernate多对一问题
- 急!急!急!struts项目中引用iframe的一个问题,高手帮帮忙啊!
- 如何自定义选择是打印的数据?
- 求救!!!很急.....谢谢帮忙!!!!(一个白痴的问题,有重谢)
- 为什么?
- javabean封装sqlserver2000的问题
- 【新手求救】hql语句查询问题
- java.lang.ClassNotFoundException: com.zjrj.trade.dao.HibernateManager
- 将hibernate里的日期数据存入SQL server数据库怎么转换啊?
如果你的首页就只有显示这6条数据的话,速度还是慢的话,那个基本上可以肯定是查询速度的问题,是不是你这个表中数据非常多,而索引又没建好,你可以看看operateDate有没有索引,建个索引看看
按理说只取六行都很慢的话,那没办法再往下弄了。如果是往session里放东西,也不致于慢。不知道楼主这个网站是不是哪出问题了?