当前位置:首页 > 代码 > 正文

hibernate的分页查询完整源代码(基于hibernate的分页查询)[20240502更新]

admin 发布:2024-05-02 14:53 110


今天给各位分享hibernate的分页查询完整源代码的知识,其中也会对基于hibernate的分页查询进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

hibernate中分页查询怎么做的

public ListComUserEntity FindAll(final int page,final int pagesize) {//page是第几页 pagesize是 每页多少个

return this.getHibernateTemplate().execute(

new HibernateCallbackListComUserEntity() {

@Override

public ListComUserEntity doInHibernate(Session session) throws HibernateException, SQLException {

Query query = session.createQuery("from ComUserEntity"); //查询的JavaBean为 ComUserEntity

query.setFirstResult((page-1)*pagesize); //设置 查询起点

query.setMaxResults(page*pagesize); //查询终点 忘了是 pagesize 还是 page*pagesize了

return query.list();}

}

);

}

关于Hibernate分页的程序,谁帮我看看?谢谢了!

你说出来的结果少一个是什么意思,是查询出来的所有结果少一个还是查询出来的每页的结果少一个,还有是缺少那条结果,第一条还是最后一条,最后我建议你先在return q.list();这里设个断点,看一下 到底是你分页时候出的问题还是最后显示的时候出的问题。

hibernate怎么做分页

**

* 使用hql 语句进行操作

* @param hql

* @param offset

* @param length

* @return List

*/

public List getListForPage(final String hql, final int offset,

final int length) {

List list = getHibernateTemplate().executeFind(new HibernateCallback() {

public Object doInHibernate(Session session)

throws HibernateException, SQLException {

Query query = session.createQuery(hql);

query.setFirstResult(offset);

query.setMaxResults(length);

List list = query.list();

return list;

}

});

return list;

}/**

* 使用criterion进行操作

* @param arg

* @param criterions

* @param offset

* @param length

* @return List

*/

protected List getListForPage(final Class arg, final Criterion[] criterions,final int offset, final int length) {

List list = getHibernateTemplate().executeFind(new HibernateCallback() {

public Object doInHibernate(Session session)

throws HibernateException, SQLException {

Criteria criteria = session.createCriteria(arg);

//循环遍历添加约束条件

for (int i = 0; i criterions.length; i++) {

criteria.add(criterions[i]);

}

criteria.setFirstResult(offset);

criteria.setMaxResults(length);

return criteria.list();

}

});

return list;

}

你不是说你用HibernateTemplate了,如果你用的是spring的HibernateTemplate,那么就直接用就行了,如果你是自己写的template,

那你也应该会准备一个HibernateCallback类啊,这才是典型的模板加回调啊

算了,把HibernateCallback也给你贴出来

import org.hibernate.HibernateException;

import org.hibernate.Session;

/*************************************

* 为 Hibernate 所提供的一个 回调接口,

* 此接口定义了 统一 Hibernate的业务操作;

* @author kenshin

*

*/

public interface HibernateCallback {

/**************************************

* 回调接口的回调方法,此方法使用者无需调用,

* 它由 模板类来进行回调,并传入一个 session参数,

* 以便让使用者完成相关业务

* @param ses

* @return 执行结果

* @throws HibernateException

*/

Object doInHibernate(Session ses)

throws HibernateException;

}

SSH中如何用HIBERNATE分页查询

一楼的分页信息无法返回,尤其是总数、当前页这些是不能再计算了,不够灵活

protected List findPage(PageInfo pageObject, String queryStr)

{

int rowCount = getTotal(queryStr);

int pageCount = PageInfo.pageCount(rowCount, pageObject.getPageSize());

int pageCurrent = pageObject.getPageCurrent();

pageObject.setPageCount(pageCount);

pageObject.setPageCurrent(pageCurrent);

pageObject.setRowCount(rowCount);

Query query = getSession().createQuery(queryStr);

query.setFirstResult((pageCurrent - 1) * pageObject.getPageSize());

query.setMaxResults(pageObject.getPageSize());

List list = query.list();

return list;

}

所在类是继承了org.springframework.orm.hibernate3.support.HibernateDaoSupport;

类。

hibernate 数据库分页

看错误:Every derived table must have its own alias 。你换了数据库,但是数据库的配置有些地方你没改,数据库方言要相应换成MYSQL的数据库方言。

bean id="sessionFactory"

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" lazy-init="true"

property name="dataSource"

ref bean="dataSource" /

/property

property name="hibernateProperties"

props

prop key="hibernate.dialect"

org.hibernate.dialect.Oracle9Dialect

/prop(这个地方就是hibernate的数据库方言)

prop key="hibernate.show_sql"true/prop

/props

/property

property name="mappingDirectoryLocations"

list

valueclasspath*:/db/orm//value

/list

/property

/bean

你把方言换成org.hibernate.dialect包下的org.hibernate.dialect.MySQLDialect或者org.hibernate.dialect.MySQL5Dialect试试,有问题再说。

hibernate的分页查询完整源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于基于hibernate的分页查询、hibernate的分页查询完整源代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/985.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载