分页时Dao中的查询方法

如下:

以User为例

@Repository
@Transactional
public class ReplyDao extends BaseDao {
/**
     * 分页查询用户
     */
    public List<User> listUsers(int pageNo, int pageCount) {
        String hql = "from User";
        Query query = getSession().createQuery(hql);
        if (pageNo > 0 && pageCount > 0) {
            query.setFirstResult((pageNo - 1) * pageCount);
            query.setMaxResults(pageCount);
        }
        return query.list();
    }
}

 

集成的BaseDao

package com.wql.tsp.dao;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

@Repository
@Transactional
public class BaseDao {
    @Autowired
    protected SessionFactory sessionFactory;

    protected Session getSession() {
        return sessionFactory.getCurrentSession();
    }
}

 

posted @ 2015-11-05 17:16  黑夜飞星  阅读(532)  评论(0编辑  收藏  举报