Web开发:分页技术的实现(下)——Hibernate查询
程序员文章站
2022-06-13 21:43:18
...
在服务器接收到请求后交由后台逻辑处理,这可能需要查询数据库,在分页技术中需要查询的主要是查询内容的记录总量以及当前页的内容。
Hibernate框架支持分页处理,实现如下:
(1)hql语句:
hql = "select count(*) from ContractBean where contract_id like '%" + chars + "%'"; //查询总量 hql = "from ContractBean where contract_id like '%" + chars + "%'"; //查询当前页记录
(2)执行查询的java代码如下:
public class ContractDaoImpl extends HibernateDaoSupport { public int countContracts(String hql) { //在不同版本的Hibernate中返回的类型不一样,有的事Long有的是Integer,需要注意 Long count = (Long)getHibernateTemplate().find(hql).listIterator().next(); return count.intValue(); } public List<ContractBean> curPageContracts(final String hql, final int pageIndex, final int pageSize) { return getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { org.hibernate.Query query = session.createQuery(hql); query.setMaxResults(pageSize); //页显示的记录条数 int beginIndex = (pageIndex-1)*pageSize; //记录起始位置 query.setFirstResult(beginIndex); return query.list(); } }); } }
总结
根据具体的需求生成具体的hql语句,然后交由hibernate框架处理,其中在Dao类中没有显示的写明SessionFactory,所使用的SessionFactory在spring中配置
相关内容
(1)Web开发:分页技术的实现(上)——jBootstrapPage.js+ajax
(2)Web开发:分页技术的实现(中)——Struts2+json
(3)Web开发:Struts2 Spring Hibernate整合(一)——Struts2的使用
(4)Web开发:Struts2 Spring Hibernate整合(二)——Spring的使用
上一篇: PHP结合Mysql数据库实现留言板功能,mysql留言板
下一篇: 求推荐PHP开源系统解决方案
推荐阅读
-
利用查询条件对象,在Asp.net Web API中实现对业务数据的分页查询处理
-
web前端jquery分页查询的实现
-
Web开发:分页技术的实现(中)——Struts2+json
-
Web开发:分页技术的实现(上)——jBootstrapPage.js+ajax
-
Web开发:Struts2 Spring Hibernate整合(三)下——Hibernate的使用
-
Web开发:分页技术的实现(中)——Struts2+json
-
Web开发:分页技术的实现(下)——Hibernate查询
-
Web开发:分页技术的实现(上)——jBootstrapPage.js+ajax
-
Web开发:Struts2 Spring Hibernate整合(三)下——Hibernate的使用
-
Web开发:分页技术的实现(下)——Hibernate查询