前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >springboot+jpa 实现分页分页实体controller Servicedao

springboot+jpa 实现分页分页实体controller Servicedao

作者头像
用户5899361
发布2020-12-07 14:22:50
6150
发布2020-12-07 14:22:50
举报
文章被收录于专栏:学习java的小白

分页实体

代码语言:javascript
复制
import java.util.ArrayList;
import java.util.List;

/**
 * 分页工具
 */
public class PageUtil {

    /**
     * 每页大小
     */
    private int pageSize;

    /**
     * 当前页为第几页
     */
    private int number;

    /**
     * 总共有多少页
     */
    private int totalPages;

    /**
     * 总共有多少条数据
     */
    private int totalElements;

    /**
     * 数据
     */
    private List content = new ArrayList();

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public int getNumber() {
        return number;
    }

    public void setNumber(int number) {
        this.number = number;
    }

    public int getTotalPages() {
        return totalPages;
    }

    public void setTotalPages(int totalPages) {
        this.totalPages = totalPages;
    }

    public int getTotalElements() {
        return totalElements;
    }

    public void setTotalElements(int totalElements) {
        this.totalPages = totalElements % pageSize == 0 ? totalElements/pageSize : (totalElements/pageSize) + 1;
        this.totalElements = totalElements;
    }

    public List getContent() {
        return content;
    }

    public void setContent(List content) {
        this.content = content;
    }
}

controller

代码语言:javascript
复制
/**
     * 分页
     * @param pageNum   页码
     * @param pageSize  页面大小
     * @return PageUtil 里面有共有多少条数 和列表
     */
    @RequestMapping("getAllCommodity")
    public PageUtil getAllCommodity(Integer pageNum, Integer pageSize){
        return allService.getAll(pageNum,pageSize);
    }

Service

代码语言:javascript
复制
 /**
     * 采购商品维护列表
     * @param pageNum   页码
     * @param pageSize  页面大小
     * @return 
     */
    @Override
   public  PageUtil getAllCommodity(Integer pageNum, Integer pageSize){
        PageUtil pageUtil=new PageUtil();
        //查询数据总条数
        int totalNumbr=allDao.getTotalNumber(gongyingshang,status,guanjianzi);
        //页面大小
        pageUtil.setPageSize(pageSize);
        //信息总条数
        pageUtil.setTotalElements(totalNumbr);
        //当前为第几页
        pageUtil.setNumber(pageNum);
        //页面内容
        pageUtil.setContent(allDao.getCommodity((pageNum-1)*pageSize,pageSize));
        return pageUtil;
    }

dao

查询总条数

代码语言:javascript
复制
 /**
     * 获取总条数
     * @return
     */
    @Override
    public int getTotalNumber(Integer gongyingshang, Integer status, Integer guanjianzi) {
        StringBuffer stringBuffer=new StringBuffer("select count(1) from 表名 where 1=1 ");
        Object result=entityManager.createNativeQuery(stringBuffer.toString()).getSingleResult();
   
        return Integer.parseInt(result.toString());
    }

查询页面内容

代码语言:javascript
复制
 /**
     * 查询页面内容
     * @param pageNum
     * @param pageSize
     * @return
     */
    @Override
    public List<Commodity> getCommodity( Integer pageNum, Integer pageSize) {

       StringBuffer stringBuffer=new StringBuffer("select 字段名称 from 表名 where 1=1 ");
        //XXXX对应的实体类名
        List<XXX> result=null;

     stringBuffer.append(" limit :page,:size");
           
  
 result=entityManager.createNativeQuery(stringBuffer.toString()).setParameter("page",pageNum).setParameter("size",pageSize).getResultList();
        return  result;
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分页实体
  • controller
  • Service
  • dao
    • 查询总条数
      • 查询页面内容
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档