使用 Rest API 进行分页数据库的更好方法是什么



我正在尝试在名为客户端Clients的表中列出注册用户的所有信息

客户端有超过 10000 行。我想用一个 API 按 50 或 100 分页。

在Hibernate中,HQL FROM Clients返回所有客户端,或者我可以设置最大和限制结果数。

目前对于 API,用户希望正常工作所需的客户端总数。

如何在单个 HQL 查询中执行此操作

必需参数:

  • 整数页 ->页码,

  • int recordePerPage -每页>条所需的记录,在您的情况下,它将50 或 100@return : null 在没有结果的情况下,在结果返回带有分页的 clint 列表的情况下。

public List getAllClintWithPagination(int page, int recordePerPage( {

        session = HibernateUtil.getSessionFactory().getCurrentSession();
        Transaction tr = null;
        try {
            tr = session.beginTransaction();
            Criteria cr = session.createCriteria(Clint.class);
            cr.setFirstResult((page - 1) * recordePerPage);
            cr.setMaxResults(recordePerPage);
            List<Clint> clintAll = cr.list();
            tr.commit();
            if (clintAll.isEmpty()) {
            if (log.isDebugEnabled()) {
                log.debug("clint are not exist");
            }
            return null;
            } else {
            return clintAll;
            }
        } catch (RuntimeException ex) {
            log.error(ex);
            if (tr != null) {
            tr.rollback(); // roll back the transaction due to runtime error
            }
            return null;
        }
    }

最新更新