四步教你SpringBoot+Mybatis-plus分页插件(简单实现)

MyBatis-Plus 分页插件---四步走

第一步:编写分页插件配置类

//Spring boot方式
@EnableTransactionManagement
@Configuration
@MapperScan("com.itheima.mapper")
public class MyBatisPlusConfig {
    /**
     * 分页插件
     * @return
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        //你的最大单页限制数量,默认 500 条,小于 0 如 -1 不受限制
        //paginationInterceptor.setLimit(2);
        return paginationInterceptor;
    }
}

第二步:编写Dao层代码

  • Mapper接口
public interface SsCompanyMapper extends BaseMapper<SsCompany> {//可以继承或者不继承BaseMapper
    /**
     * <p>
     * 查询 : 根据state状态查询用户列表,分页显示
     * 注意!!: 如果入参是有多个,需要加注解指定参数名才能在xml中取值
     * </p>
     *
     * @param page 分页对象,xml中可以从里面进行取值,传递参数 Page 即自动分页,必须放在第一位(你可以继承     * Page实现自己的分页对象)
     * @param state 状态,可以作为查询条件,可以不加
     * @return 分页对象
     */
    //IPage<User> selectPageVo(Page page, @Param("state") Integer state);
    IPage<SsCompany> selectPage(Page page);
}
  • Mapper.xml 等同于编写一个普通 list 查询,mybatis-plus 自动替你分页
  <select id="selectPage" resultType="com.itheima.domain.SsCompany">
      select * from ss_company
  </select>

注意:加不加where取决于你是否携带查询条件

第三步:调用分页方法

  • 接口
public interface SsCompanyService {
    IPage<SsCompany> selectPage(Page<SsCompany> page);
}
  • 实现类
@Service
@Transactional
public class SsCompanyServiceImpl implements SsCompanyService {

    @Autowired
    private SsCompanyMapper ssCompanyMapper;

    @Override
    public IPage<SsCompany> selectPage(Page<SsCompany> page) {
        // 不进行 count sql 优化,解决 MP 无法自动优化 SQL 问题,这时候你需要自己查询 count 部分
        // page.setOptimizeCountSql(false);
        // 当 total 为小于 0 或者设置 setSearchCount(false) 分页插件不会进行 count 查询
        // 要点!! 分页返回的对象与传入的对象是同一个
        return ssCompanyMapper.selectPage(page);
    }
}

第四步:编写Controller

@RestController
@RequestMapping("/company")
public class SsCompanyController {

    @Autowired
    private SsCompanyService ssCompanyService;

    @RequestMapping("/list")
    public IPage<SsCompany> list() {
        /**
         * Page(current,size)
         * current:当前页,long类型
         * size:每页显示的数量,long类型
         * 可参考其构造方法
         */
        IPage<SsCompany> iPage = ssCompanyService.selectPage(new Page<>(2l,3));
        return iPage;
    }
}

原文地址:https://www.cnblogs.com/guoyx/p/12095958.html

时间: 2024-10-05 21:59:43

四步教你SpringBoot+Mybatis-plus分页插件(简单实现)的相关文章

springboot + mybatis配置分页插件

1:首先配置springboot +mybatis框架  参考:http://www.cnblogs.com/liyafei/p/7911549.html 2:创建配置类MybatisConfig,对分页插件进行配置.将mybatis-config.xml移动到classpath路径下. package com.liyafei.util.pagehelper; import java.util.Properties; import org.apache.ibatis.plugin.Interce

SpringBoot集成MyBatis的分页插件PageHelper

俗话说:好??不吃回头草,但是在这里我建议不管你是好马还是不好马,都来吃吃,带你复习一下分页插件PageHelper. 昨天给各位总结了本人学习springboot整合mybatis第一阶段的一些学习心得和源码,主要就算是敲了一下SpringBoot的门儿,希望能给各位的入门带给一点儿捷径,今天给各位温习一下MyBatis的分页插件PageHelper和SpringBoot的集成,它的使用也非常简单,开发更为高效.因为PageHelper插件是属于MyBatis框架的,所以相信很多哥们儿都已经用

SpringBoot集成MyBatis的分页插件PageHelper(回头草)

俗话说:好??不吃回头草,但是在这里我建议不管你是好马还是不好马,都来吃吃,带你复习一下分页插件PageHelper. 昨天给各位总结了本人学习springboot整合mybatis第一阶段的一些学习心得和源码,主要就算是敲了一下SpringBoot的门儿,希望能给各位的入门带给一点儿捷径,今天给各位温习一下MyBatis的分页插件PageHelper和SpringBoot的集成,它的使用也非常简单,开发更为高效.因为PageHelper插件是属于MyBatis框架的,所以相信很多哥们儿都已经用

Mybatis 的分页插件PageHelper-4.1.1的使用

Mybatis 的分页插件 PageHelper 项目地址:http://git.oschina.net/free/Mybatis_PageHelper 文档地址:http://git.oschina.net/free/Mybatis_PageHelper/blob/master/wikis/HowToUse.markdown 我用的版本是PageHelper-4.1.1.Mybatis-3.3.0 PageHelper 依赖于 jsqlparser-0.9.4.jar 使用方法: 1.根据My

陈松松:四步教你轻松添加视频字幕,省时间

每个视频,都是你的金牌业务员 这是我写的第15篇视频营销原创文章 字幕,视频的必杀技! 现在大多数视频都在1-8分钟左右,好像太长的视频很少能看到了. 尤其是原创视频尤为明显! 先解释一下,这里所说的字幕可不是水印,很多朋友经常搞混,字幕是字幕,水印是水印. 你像电视剧,电影,包括你看到的视频栏目,往往演员或主讲人说的什么话,都在视频下方把原话以汉字或者英文等其他语言展现出来,这个就是我们所说的字幕! 有过视频剪辑经验的朋友,都清楚,添加字幕绝对是个细活,很花费时间,我之前并没有重视过这个字幕,

SpringBoot+Mybatis+Pagehelper分页

1.pom.xml <!-- mybatis分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> 2.驼峰命名在application.pr

springboot+mybatis集成分页功能

1.搭建使用idea搭建srpingboot项目 在pom.xml文件中引入如下的依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- swagger文档相关依赖--> <dependency> <gro

SpringBoot+MyBatis+PageHelper分页无效

POM.XML中的配置如下:<!-- 分页插件 --><!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --><dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.1

mybatis常用分页插件,快速分页处理

在未分享整个查询分页的执行代码之前,先了解一下执行流程. 1.总体上是利用mybatis的插件拦截器,在sql执行之前拦截,为查询语句加上limit X X 2.用一个Page对象,贯穿整个执行流程,这个Page对象需要用java编写前端分页组件 3.用一套比较完整的三层entity,dao,service支持这个分页架构 4.这个分页用到的一些辅助类 注:分享的内容较多,这边的话我就不把需要的jar一一列举,大家使用这个分页功能的时候缺少什么就去晚上找什么jar包即可,尽可能用maven包导入