当前位置:   article > 正文

springboot3分页插件使用_springboot3 pagehelper使用

springboot3 pagehelper使用

今天写代码遇到了一个特别的傻逼的问题,那就是我在使用springboot3的时候,使用pagehelper进行分页设置的时候,总是不生效,我非常纳闷我检查了maven 的依赖,application.yml的配置文件,感觉都是没有问题但是分页插件的效果却总是不出来,后来通过我的老师的排查,发现是我的maven版本不对,我用的版本是1.3.0版本的pagehelper的mavend的依赖,但是这个版本pagehelper是不支持springboot3的,于是我在找到github上找到适合springboot3pagehelper的插件坐标

用了这个版本的插件立刻就能用了,

这个是我的application.yml配置文件:

也顺便给大家看一下完整的mybaties使用分页插件的流程献丑;

mapper层的代码:

  1. package com.gfxy.myapp.mapper;
  2. import com.gfxy.myapp.pojo.MyApp;
  3. import org.apache.catalina.User;
  4. import org.apache.ibatis.annotations.Delete;
  5. import org.apache.ibatis.annotations.Insert;
  6. import org.apache.ibatis.annotations.Mapper;
  7. import org.apache.ibatis.annotations.Select;
  8. import org.springframework.web.bind.annotation.GetMapping;
  9. import java.util.List;
  10. @Mapper
  11. public interface MyAppMapper {
  12. // @Select("select * from my_app")
  13. public List<MyApp> list();
  14. @Insert("insert into my_app values (#{id},#{name},#{addr},#{age},#{birth},#{sex})")
  15. public void add(MyApp myApp);
  16. @Delete("delete from my_app where id = #{id} ")
  17. public void del(String id);
  18. public void update(MyApp myApp);
  19. @Select("select * from my_app where id =#{id}")
  20. public MyApp getMyAppId(String id);
  21. }

这个是service上实现的代码

  1. package com.gfxy.myapp.service;
  2. import com.gfxy.myapp.pojo.MyApp;
  3. import com.github.pagehelper.Page;
  4. import org.apache.catalina.User;
  5. import java.util.List;
  6. public interface MyAppService {
  7. public void del(String id);
  8. public void add(MyApp myApp);
  9. public Page<MyApp> list(int pageNum, int pageSize);
  10. public void update(MyApp myApp);
  11. public MyApp getMyApp(String id);
  12. }

其实现类:

  1. package com.gfxy.myapp.service.Impl;
  2. import com.gfxy.myapp.mapper.MyAppMapper;
  3. import com.gfxy.myapp.pojo.MyApp;
  4. import com.gfxy.myapp.service.MyAppService;
  5. import com.github.pagehelper.Page;
  6. import com.github.pagehelper.PageHelper;
  7. import com.github.pagehelper.PageInfo;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Service;
  10. import java.util.List;
  11. import java.util.UUID;
  12. @Service
  13. public class MyAppServiceImpl implements MyAppService {
  14. @Autowired
  15. MyAppMapper myAppMapper;
  16. @Override
  17. public void del(String id) {
  18. myAppMapper.del(id);
  19. }
  20. @Override
  21. public void add(MyApp myApp) {
  22. String string = UUID.randomUUID().toString();
  23. myApp.setId(string);
  24. myAppMapper.add(myApp);
  25. }
  26. @Override
  27. public Page<MyApp> list(int pageNum, int pageSize) {
  28. //设置分页查询的参数属性
  29. PageHelper.startPage(pageNum,pageSize);
  30. List<MyApp> list = myAppMapper.list();
  31. Page<MyApp> pageInfo = (Page<MyApp>) list;
  32. return pageInfo;
  33. }
  34. @Override
  35. public void update(MyApp myApp) {
  36. myAppMapper.update(myApp);
  37. }
  38. @Override
  39. public MyApp getMyApp(String id) {
  40. return myAppMapper.getMyAppId(id);
  41. }
  42. }

最后在controller类返回前端的代码

  1. @GetMapping("/getUser/{pageNum}/{pageSize}")
  2. public PageBean getUsers(@PathVariable(value = "pageNum") int pageNum,
  3. @PathVariable(value = "pageSize") int pageSize) {
  4. log.info("已被访问,{},{}", pageNum, pageSize);
  5. Page<MyApp> page = myAppService.list(pageNum, pageSize);
  6. pageBean = new PageBean();
  7. pageBean.setTotal(page.getTotal());
  8. pageBean.setRoews(page.getResult());
  9. pageBean.setMyApps(page.getResult());
  10. // 返回JSON格式的结果给前端
  11. return pageBean;
  12. }

最后前端收到的数据:

其实在springboot中使用pagehelper是特别简单的,我们在maven引入合适版本的依赖后,在配置文件中写好配置,在service的实现类中就可以编写代码了,

pagehelper使用的时候在在mapper查询语句的上面PageHelper.startPage(pageNum,pageSize);这个就是设置分页查询的代码了,其中pageNum参数是设置查询第几页的数据集,pageSize是设置一页有多少条数据,这两个参数通常是前端传给后端contronler层参数在通过contronller层传递给setrvice实现类中的,通过分页查询大大的简化了编写数据库sql查询语句的繁杂,不过要注意的是设置完分页属性的条件后是只对第一次mapper Sql语句查询是有效的所以在开发的时候要注意,

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/88288
推荐阅读
相关标签
  

闽ICP备14008679号