一. 简单分页查询——limit 使用select查询时,如果结果集数据量较大,一个页面难以处理,就会采用分页查询。 分页查询,就是从结果集中拿出指定的第n页到第m页的数据来显示。 // limit分页公式 // currentP
使用select查询时,如果结果集数据量较大,一个页面难以处理,就会采用分页查询。
分页查询,就是从结果集中拿出指定的第n页到第m页的数据来显示。
// limit分页公式 // currentPage:当前页 // pageSize:每页记录数limit (currentPage-1) * pageSize,pageSize
// sql语句select * from student limit(currentPage-1)*pageSize,pageSize;
【Mapper接口】
@select("select * from student limit #{pageBegin},#{pageSize}")List findByPage(@Param("pageBegin") Integer PageBegin,@Param("PageSize")Integer PageSize);
【Controller类·】
@GetMapping("/findByPage")public List findByPage(Integer page,Integer pageSize){ Integer pageBegin = (page-1) * pageSize; return StudentMapper.findByPage(pageBegin,pageSize);}
【定义Page类——封装分页结果】
@AllArgsConstructor@NoArgsConstructor@Datapublic class PageResult implements Serializable{ private Long total;//总记录数 private List rows;//当前页结果}
【定义PageResult类——封装查询条件】
封装查询条件 请求参数包括页码、每页显示记录数、查询条件。 请求参数的JSON格式为:{currentPage:1,pageSize:10,queryString:''apesource''}
// 分页请求。@AllArgsConstructor@NoArgsConstructor@Datapublic class QueryPageBean implements Serializable{ private Integer currentPage;//当前页码 private Integer pageSize;//每页记录数 private String queryString;//查询条件 public QueryPageBean(Integer currentPage, Integer pageSize) { this.currentPage = currentPage; this.pageSize = pageSize; }}
【Dao层】
@Mapperpublic interface CheckGroupDao { public Page selectByCondition(String queryString);}
【xxxMapper.xml映射文件】
【Service层】
@Override public PageResult pageQuery(Integer currentPage, Integer pageSize, String queryString) { PageHelper.startPage(currentPage, pageSize); Page page = checkGroupDao.selectByCondition(queryString); return new PageResult(page.getTotal(), page.getResult()); }
【Controller层】
//分页查询 @PostMapping("/findPage") public PageResult findPage(@RequestBody QueryPageBean queryPageBean) { try { PageResult pageResult = checkGroupService.pageQuery(queryPageBean.getCurrentPage(),queryPageBean.getPageSize(),queryPageBean.getQueryString()); return pageResult; } catch (Exception e) { return null; } }
来源地址:https://blog.csdn.net/weixin_45939128/article/details/127898701
--结束END--
本文标题: Mybatis实现分页查询
本文链接: https://www.lsjlt.com/news/404170.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-03
2024-04-03
2024-04-01
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0