spring boot Mybatis Plus分页

这篇具有很好参考价值的文章主要介绍了spring boot Mybatis Plus分页。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Mybatis Plus自带分页和PageHelper有什么区别?

网上描述:
Mapper Plus自带分页PaginationInterceptor对象,虽然说目前没有什么问题,并且使用简单,但是个人感觉有个弊端:目前个人使用中,想要用Mapper Plus自带的分页功能的话需要在mapper对象中传入一个Page对象才可以实现分页,这样耦合度是不是太高了一点,从web到service到mapper,这个Page对象一直都在传入,这样的使用让人感觉有点麻烦~

Mybatis Plus整合PageHelper分页

Mybatis Plus整合PageHelper分页
参考URL: https://blog.csdn.net/m0_37701381/article/details/100719280
SpringBoot2.1+MybatisPlus+Pagehelper框架整合(其中与Dubbo整合时分页失效的疑问与解决)
参考UIRL: https://blog.csdn.net/lstcui/article/details/89068918

springboot自定义拦截器获取分页参数

ThreadLocal Pager 分页的一种解决方案
参考URL: https://blog.csdn.net/cmdsmith/article/details/66969728

spring boot下配置mybatis-plus分页插件

springBoot 使用 mybatis-plus 插件 实现分页
https://blog.csdn.net/sinat_34338162/article/details/83543994?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

需要写一个分页的配置类分页功能才能生效

/**
 *  //Spring boot方式
 * @Description: MybatisPlus配置类
 */
@Configuration
public class MyBatisPlusConfig {
 
    /**
     * 分页插件
     * @return
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
}

单表分页查询

如果只是单表,那么分页查询就容易的多了。
这里的@ModelAttribute注解可以将前端传过来的current和size字段映射到Page对象中。

   /**
     * @param page 查询一般传入参数为current和size, 例如/listPage?current=1&size=5,
     * @return 返回分页数据
     */
    @RequestMapping(value = "/page", method = RequestMethod.GET)
    public ResponseObj<Page<T>> listPage(@ModelAttribute Page<T> page, @ModelAttribute T model) {
        Page<T> pageList = service.selectPage(page, new EntityWrapper<>(model));
        for (T eachObj : pageList.getRecords()) {
            queryFilter(eachObj);
        }
        return new ResponseObj<>(pageList, RetCode.SUCCESS);
    }

    @RestController
    @RequestMapping("/student")
    public class StudentController {
    
        @Autowired
        IStudentService studentService;
    
        @RequestMapping(value = "/findAll",method = RequestMethod.POST)
        public Object findAll(HttpServletRequest request){
            //获取前台发送过来的数据
            Integer pageNo = Integer.valueOf(request.getParameter("pageNo"));
            Integer pageSize = Integer.valueOf(request.getParameter("pageSize"));
            IPage<Student> page = new Page<>(pageNo, pageSize);
            QueryWrapper<Student> wrapper = new QueryWrapper<>();
            Student student = new Student();
            student.setId(1);
            wrapper.setEntity(student);
            return studentService.page(page,wrapper);
        }
    
    }

总结: 整体思路很简单,需要2个参数,一个是 IPage page实例,传入pageNo、pageSize ,一个是QueryWrapper wrapper实例。 使用时把page传入会自动在sql语句后面添加limit。

自定义sql分页查询

有时候查询的数据难免会出现多表连接查询,或者是一些复杂的sql语句,但是这些语句也是需要支持分页查询的。

先定义查询接口,第一个参数要是分页的参数。

步骤一:在mapper文件中,编写对应的分页查询接口。

步骤二:在xml中编写对应的sql语句,小编这里演示的 “${ew.customSqlSegment}”,这个是如果你想自定义的sql语句,也想使用wrapper查询条件构造器,则需要在mapper接口中添加参数,以及xml中也要有固定。

PageHelper

PageHelper用于查询语句分页,让分页更简单、代码更优雅。

参考

MyBatis-Plus 分页查询以及自定义sql分页
参考URL: https://blog.csdn.net/weixin_38111957/article/details/91554108?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
mybatis-plus分页查询
参考URL: https://www.jianshu.com/p/43bfe6fe8d89文章来源地址https://www.toymoban.com/news/detail-835078.html

到了这里,关于spring boot Mybatis Plus分页的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • spring boot集成mybatis-plus——Mybatis Plus 查询数据(图文讲解)

     更新时间 2023-01-03 16:07:12 大家好,我是小哈。 本小节中,我们将学习如何通过 Mybatis Plus 查询数据库表中的数据。 在前面小节中,我们已经定义好了一个用于测试的用户表, 执行脚本如下: 定义一个名为  User  实体类: 不明白 Mybatis Plus 实体类注解的小伙伴,可参考前面

    2024年02月02日
    浏览(63)
  • Spring Boot集成MyBatis Plus

    在现代软件开发中,构建高效、可维护的项目是至关重要的。Spring Boot 是一个流行的框架,它简化了Java应用程序的开发过程。而 MyBatis Plus 则是一个强大的持久层框架,通过简化数据库操作,提升了开发效率。本文将介绍如何使用 Spring Boot 结合 MyBatis Plus 构建高效的项目,附

    2024年02月11日
    浏览(43)
  • spring boot集成mybatis-plus——Mybatis Plus 批量 Insert_新增数据(图文讲解)

     更新时间 2023-01-10 16:02:58 大家好,我是小哈。 本小节中,我们将学习如何通过 Mybatis Plus 实现 MySQL 批量插入数据。 先抛出一个问题:假设老板给你下了个任务,向数据库中添加 100 万条数据,并且不能耗时太久! 通常来说,我们向 MySQL 中新增一条记录,SQL 语句类似如下:

    2024年02月04日
    浏览(50)
  • Spring Boot整合MyBatis-Plus

    引言 在现代软件开发中,我们经常需要处理大量的数据。为了有效地管理这些数据,我们需要使用一些强大的框架。其中,Spring Boot和MyBatis-Plus是两个非常流行的框架。Spring Boot是一个基于Spring的开源Java框架,可以用于创建独立的、生产级别的Spring应用。MyBatis-Plus是一个MyB

    2024年01月19日
    浏览(57)
  • Spring Boot 整合MyBatis-Plus

    😀前言 本篇博文是关于Spring Boot 整合MyBatis-Plus的,希望你能够喜欢😊 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉 💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰

    2024年02月11日
    浏览(57)
  • Spring Boot3整合MyBatis Plus

    目录 1.前置条件 2.导坐标 3.配置数据源 4.mybatis-plus基础配置 5.配置mapper扫描路径 6.MyBatis Plus代码生成器整合 1.导坐标 2.编写代码生成逻辑 7.整合Druid连接池 已经初始化好一个spring boot项目且版本为3X,项目可正常启动 初始化教程: 新版idea创建spring boot项目-CSDN博客 https://blog

    2024年01月23日
    浏览(49)
  • spring boot mybatis-plus操作实践

    1、先建一个数据表实体类 2、service目录下新建接口IDeptService,然后扩展mp的IService 3、service目录的impl目录下新建类 DeptServiceImpl,扩展mp的ServiceImpl,实现接口IDeptService,然后注册@Service 注解 4、DeptMapper 接口需要扩展mp的BaseMapper接口 5、调试一下看看是否可以使用

    2024年02月01日
    浏览(49)
  • spring boot集成mybatis-plus——Mybatis Plus 新增数据并返回主键 ID(图文讲解)

     更新时间 2023-01-10 15:37:37 大家好,我是小哈。 本小节中,我们将学习如何通过 Mybatis Plus 框架给数据库表新增数据,主要内容思维导图如下: Mybatis Plus 新增数据思维导图 为了演示新增数据,在前面小节中,我们已经定义好了一个用于测试的用户表, 执行脚本如下: 定义一

    2024年02月02日
    浏览(54)
  • spring boot+mybatis-plus配置读写分离

    对于mysql主从机制的读写分离,对于写操作写入主库,读取操作读取从库 一、安装依赖 二、配置文件配置数据源 三、在service,如果是读取操作的话,则需要加上注解@DS(“slave”)即可,可看如下示例

    2024年01月25日
    浏览(50)
  • Spring Boot MyBatis Plus 配置数据源详解

    🎉欢迎来到架构设计专栏~Spring Boot MyBatis Plus 配置数据源详解 ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹 ✨博客主页:IT·陈寒的博客 🎈该系列文章专栏:架构设计 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习 🍹文章作者技术和水平有限,如果文

    2024年01月21日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包