springboot+mybatis使用分页插件遇到PageInfo为空的情况

您所在的位置:网站首页 list赋值为空 springboot+mybatis使用分页插件遇到PageInfo为空的情况

springboot+mybatis使用分页插件遇到PageInfo为空的情况

2024-07-02 14:00| 来源: 网络整理| 查看: 265

之前写分页功能的时候没有用过插件,最近试着用一下看看,结果却遇到PageInfo一直为空的情况。而从数据库明明就查到了数据,却绑定不了。。。 yml配置文件:

#分页插件 pageheloer: helperDialect: mysql reasonable: true supportMethodsArguments: true params: count=countSql

在网上查找原因发现是我没有在主启动类里面添加:

@Bean public PageHelper pageHelper() { PageHelper pageHelper = new PageHelper(); Properties properties = new Properties(); properties.setProperty("offsetAsPageNum", "true"); properties.setProperty("rowBoundsWithCount", "true"); properties.setProperty("reasonable", "true"); properties.setProperty("dialect", "mysql"); pageHelper.setProperties(properties); return pageHelper; }

添加之后分页功能就可以了。

在这我附上全部步骤代码,主要是做个工作总结和以后的不断改进。

pom文件添加依赖:

com.github.pagehelper pagehelper 3.4.2

sql语句大家随便写一条测试一下就行

select from t_proxy

mapper接口

List test();

先自定义几个对象:

public class PageRequest { private int pageNum;//当前页码 private int pageSize;//每页数量 public int getPageNum() { return pageNum; } public void setPageNum(int pageNum) { this.pageNum = pageNum; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } } /** * 分页返回结果 * */ public class PageResult { /** * 当前页码 * */ private int pageNum; /** *每页数量 * */ private int pageSize; /** *记录总数 * */ private long totalSize; /** *页码总数 * */ private int totalPages; /** * 数据模型 */ private List content; public int getPageNum() { return pageNum; } public void setPageNum(int pageNum) { this.pageNum = pageNum; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public long getTotalSize() { return totalSize; } public void setTotalSize(long totalSize) { this.totalSize = totalSize; } public int getTotalPages() { return totalPages; } public void setTotalPages(int totalPages) { this.totalPages = totalPages; } public List getContent() { return content; } public void setContent(List content) { this.content = content; } } public class PageUtils { /** * 将分页信息封装到统一的接口 * @param pageRequest * @param * @return */ public static PageResult getPageResult(PageRequest pageRequest, PageInfo pageInfo) { PageResult pageResult = new PageResult(); pageResult.setPageNum(pageInfo.getPageNum()); pageResult.setPageSize(pageInfo.getPageSize()); pageResult.setTotalSize(pageInfo.getTotal()); pageResult.setTotalPages(pageInfo.getPages()); pageResult.setContent(pageInfo.getList()); return pageResult; } }

service接口

/** * @Description: 分页测试,仅仅是为了做个插件测试 * @Author: * @CreateDate: 2019/8/26 0026 9:34 *@PARAM: PageResult: 自定义,统一分页查询请求 * pageRequest: 自定义,统一分页查询结果 */ PageResult testPageHelper(PageRequest pageRequest);

实现类:

@Override public PageResult testPageHelper(PageRequest pageRequest) { return PageUtils.getPageResult(pageRequest,getPageInfo(pageRequest)); } private PageInfo getPageInfo(PageRequest pageRequest) { int pageNum = pageRequest.getPageNum(); int pageSize = pageRequest.getPageSize(); PageHelper.startPage(pageNum, pageSize); List proxies = proxyMapper.test(); for(Proxy p:proxies){ System.out.println(p.getAccount()); } return new PageInfo(proxies); } @RequestMapping(value ="/testPage",method = RequestMethod.POST) public PageResult findPage(@RequestBody PageRequest pageRequest) { return proxyService.testPageHelper(pageRequest); }

在这里插入图片描述 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3