这是spring boot集合mybatis的分页查询。

pom依赖:

  1. <!-- 分页插件 -->
  2. <dependency>
  3. <groupId>com.github.pagehelper</groupId>
  4. <artifactId>pagehelper</artifactId>
  5. <version>4.1.0</version>
  6. </dependency>

 往spring容器注入一个Bean,写在main方法下面就行,或者另外写个类,加上注解@Configuration,被spring boot容器扫描到就行:

  1. @Bean
  2. public PageHelper pageHelper() {
  3. PageHelper pageHelper = new PageHelper();
  4. Properties p = new Properties();
  5. p.setProperty("offsetAsPageNum", "true");
  6. p.setProperty("rowBoundsWithCount", "true");
  7. p.setProperty("reasonable", "true");
  8. p.setProperty("dialect", "mysql");
  9. p.setProperty("supportMethodsArguments", "false");
  10. p.setProperty("pageSizeZero", "true");
  11. pageHelper.setProperties(p);
  12. return pageHelper;
  13. }

  

 创建一个抽象类,分页类需要继承这个抽象类AbstractPageForm。

  1. import java.io.Serializable;
  2.  
  3. import com.github.pagehelper.PageHelper;
  4.  
  5. public abstract class AbstractPageForm<T extends AbstractPageForm<T>> implements Serializable {
  6.  
  7. private static final long serialVersionUID = 1L;
  8.  
  9. /**
  10. * @Description 页码为首页
  11. */
  12. protected int pageNum = 1;
  13.  
  14. /**
  15. * @Description 每页显示数量,默认为10
  16. */
  17. protected int pageSize = 10;
  18.  
  19. public int getPageNum() {
  20. return pageNum;
  21. }
  22.  
  23. public void setPageNum(int pageNum) {
  24. this.pageNum = pageNum;
  25. }
  26.  
  27. public int getPageSize() {
  28. return pageSize;
  29. }
  30.  
  31. public void setPageSize(int pageSize) {
  32. this.pageSize = pageSize;
  33. }
  34.  
  35. /**
  36. * @Title enablePaging
  37. * @Description 启用分页
  38. * @return
  39. */
  40. @SuppressWarnings("unchecked")
  41. public final T enablePaging() {
  42. PageHelper.startPage(pageNum, pageSize);
  43. return (T) this;
  44. }
  45.  
  46. }

  写一个分页类,继承上面个抽象类

  1. import *.AbstractPageForm;//换成自己的包
  2.  
  3. public class TestPage extends AbstractPageForm<TestPage>{
  4.  
  5. /**
  6. *
  7. */
  8. private static final long serialVersionUID = 1L;
  9.  
  10. }

  查询方法:

  1. public PageInfo selectAll() {
  2. TestPage TestPage = new TestnPage();
  3. List<Test> selectAll = TestMapper.selectAll(TestPage.enablePaging());
  4. PageInfo<Test> pageInfo = new PageInfo<>(selectAll);
  5. return pageInfo;
  6. }

  

spring boot +mybatis分页查询的更多相关文章

  1. 【转】spring boot mybatis 读取配置文件

    spring boot mybatis 配置整理 一.加载mybatis的配置 1.手写配置,写死在代码里 import java.io.IOException; import java.util.P ...

  2. 详解spring boot mybatis全注解化

    本文重点介绍spring boot mybatis 注解化的实例代码 1.pom.xml //引入mybatis <dependency> <groupId>org.mybat ...

  3. (45). Spring Boot MyBatis连接Mysql数据库【从零开始学Spring Boot】

    大家在开发的时候,会喜欢jdbcTemplate操作数据库,有喜欢JPA操作数据库的,有喜欢MyBatis操作数据库的,对于这些我个人觉得哪个使用顺手就使用哪个就好了,并没有一定要使用哪个,个人在实际 ...

  4. spring boot + mybatis + layui + shiro后台权限管理系统

    后台管理系统 版本更新 后续版本更新内容 链接入口: springboot + shiro之登录人数限制.登录判断重定向.session时间设置:https://blog.51cto.com/wyai ...

  5. Spring Boot入门教程2-1、使用Spring Boot+MyBatis访问数据库(CURD)注解版

    一.前言 什么是MyBatis?MyBatis是目前Java平台最为流行的ORM框架https://baike.baidu.com/item/MyBatis/2824918 本篇开发环境1.操作系统: ...

  6. Spring Boot + Mybatis + Redis二级缓存开发指南

    Spring Boot + Mybatis + Redis二级缓存开发指南 背景 Spring-Boot因其提供了各种开箱即用的插件,使得它成为了当今最为主流的Java Web开发框架之一.Mybat ...

  7. Spring Boot + Mybatis 实现动态数据源

    动态数据源 在很多具体应用场景的时候,我们需要用到动态数据源的情况,比如多租户的场景,系统登录时需要根据用户信息切换到用户对应的数据库.又比如业务A要访问A数据库,业务B要访问B数据库等,都可以使用动 ...

  8. Spring boot Mybatis 整合(完整版)

    个人开源项目 springboot+mybatis+thymeleaf+docker构建的个人站点开源项目(集成了个人主页.个人作品.个人博客) 朋友自制的springboot接口文档组件swagge ...

  9. Spring Boot + MyBatis + Druid + Redis + Thymeleaf 整合小结

    Spring Boot + MyBatis + Druid + Redis + Thymeleaf 整合小结 这两天闲着没事想利用**Spring Boot**加上阿里的开源数据连接池**Druid* ...

随机推荐

  1. conkey conf

    update_interval 1.0 # 更新时间间隔double_buffer yes # 双缓存,解决Conky闪烁问题use_xft yes # 自定义字体xftfont DejaVu San ...

  2. netmap 编译

    参考博客:http://www.cnblogs.com/ruo-yu/p/5083290.html 我用的内核版本是4.4.39 step 1:编译内核. step 2:根据参考博客并没有成功编译出我 ...

  3. 安卓新闻client笔记积累

    做一个项目,假设有第三方的框架的话.就会简单非常多.如今看的这个新闻client就用到了很多框架,还有非常多知识点,放在这里,记录下来. (1)Android Volley 之自己定义Request ...

  4. Centos 7 搭建蓝鲸3.1.5社区版

    第一次搭建蓝鲸平台,参考了蓝鲸社区的官方搭建文档. 友情链接:蓝鲸智云社区版V3.1用户手册 搭建时遇到了不少的坑,这里做一个详细的安装梳理 主机硬件要求 官方的推荐如下: 我在公司测试环境搭建时机器 ...

  5. linux文件夹操作及递归遍历文件夹

    文件夹相关函数介绍 //mkdir 函数创建文件夹 #include <sys/stat.h> #include <sys/types.h> int mkdir(const c ...

  6. 网页制作,网站制作中put和get的区别

    Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP ...

  7. PortableApps的使用方法

    1 从官方网站下载这个软件,建议只下载PortableApps Platform Only即可,因为官方提供的软件其实很少,大多数需要我们自己添加. PortableApps 致力于将一些常见的开源软 ...

  8. 微信小程序小红点未读消息如何实现?

      如图类似的 这样的需求还挺多的,那么如何实现呢? data: { userInfo: {}, projectSource: 'https://github.com/liuxuanqiang/wec ...

  9. [android ndk] -android studio中编译生成so文件

    1.android.useDeprecatedNdk=true Error:Execution failed for task ':app:compileDebugNdk'.> Error: N ...

  10. struts struts拦截器(过滤器)

    在struts中尽量避免自定义拦截器,因为大部分需要自己定义拦截器的时候,设计思路就不对了.大部分拦截器框架都有给你定义好了.而且如果在struts中定义拦截器相当于和这个框架绑定了,假如以后要扩展或 ...