pagedaoimp.java
来自「该在线考试关系统(B/S结构)主要采用JAVA语言开发涉及主要WEB技术有:St」· Java 代码 · 共 85 行
JAVA
85 行
package dao.hibernate;
import java.util.Collection;
import javax.servlet.http.HttpServletRequest;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateTemplate;
import web.breakpage.Page;
import web.breakpage.PagerHandle;
import dao.IPageDao;
public class PageDaoImp implements IPageDao
{
private SessionFactory sf;
private HibernateTemplate template;
public SessionFactory getSf()
{
return sf;
}
public void setSf(SessionFactory sf)
{
this.sf = sf;
//通过session工厂得到hibernate模版
template = new HibernateTemplate(sf);
}
public Collection findAll(int currow, int pagesize, String hql)
{
SessionFactory sf = template.getSessionFactory();
Collection TestList = null;
Session s = sf.openSession();
Query q = s.createQuery(hql);
q.setFirstResult(currow);
q.setMaxResults(pagesize);
TestList = q.list();
s.close();
return TestList;
}
public int getCount(String hql)
{
SessionFactory sf = template.getSessionFactory();
Session s = sf.openSession();
try
{
Integer rows=(Integer) s.createQuery(hql).list().get(0);
s.flush();
s.close();
return rows.intValue();
}
catch (HibernateException ex)
{
ex.printStackTrace();
return 0;
}
}
public Page getPage(HttpServletRequest request, String hql,int pageSize)
{
Page p = null;
int totalRows = this.getCount(hql);
p = PagerHandle.getPager(request, totalRows,pageSize);
return p;
}
public Page getPage(HttpServletRequest request,int count,int pageSize)
{
Page p = null;
int totalRows = count;
p = PagerHandle.getPager(request, totalRows,pageSize);
return p;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?