Singerw's Repository Singerw's Repository
首页
  • 相关文章

    • HTML相关文章
    • CSS相关文章
    • JavaScript相关文章
  • 学习笔记

    • JavaScript笔记
    • ES6笔记
    • Vue笔记
  • 相关文章

    • Spring相关文章
    • SpringBoot相关文章
    • MyBatis相关文章
    • MySQL相关文章
  • 学习笔记

    • SpringBoot笔记
    • Spring笔记
    • MyBatis笔记
    • MySQL笔记
    • JavaWeb笔记
    • JavaCore笔记
  • 学习笔记

    • Linux笔记
    • Git笔记
    • 技术文档
  • 偏门技术

    • GitHub技巧
    • 博客搭建
    • 科学上网
  • 安装教程

    • JDK
    • MySQL
    • Node.js
    • Linux
  • 终身学习
  • 面试人生
  • 心情杂货
  • 生活随笔
  • 归档
  • 标签
GitHub (opens new window)

Singerw

谁能够凭爱意将富士山私有
首页
  • 相关文章

    • HTML相关文章
    • CSS相关文章
    • JavaScript相关文章
  • 学习笔记

    • JavaScript笔记
    • ES6笔记
    • Vue笔记
  • 相关文章

    • Spring相关文章
    • SpringBoot相关文章
    • MyBatis相关文章
    • MySQL相关文章
  • 学习笔记

    • SpringBoot笔记
    • Spring笔记
    • MyBatis笔记
    • MySQL笔记
    • JavaWeb笔记
    • JavaCore笔记
  • 学习笔记

    • Linux笔记
    • Git笔记
    • 技术文档
  • 偏门技术

    • GitHub技巧
    • 博客搭建
    • 科学上网
  • 安装教程

    • JDK
    • MySQL
    • Node.js
    • Linux
  • 终身学习
  • 面试人生
  • 心情杂货
  • 生活随笔
  • 归档
  • 标签
GitHub (opens new window)
  • 后端学习笔记

  • MySQL文章

  • SpringBoot相关文章

    • 集成PageHelper分页插件
      • 步骤一、导入jar包
      • 步骤二、配置SpringBoot文件
      • 步骤三、使用
    • 集成logback日志
    • 整合Druid数据源
    • 整合Swagger接口文档
    • yaml语言教程
  • Spring文章

  • MyBatis文章

  • 常用jar包和工具类

  • 后端
  • SpringBoot相关文章
Singerw
2021-09-25

集成PageHelper分页插件

# SpringBoot集成PageHelper分页插件

# 步骤一、导入jar包

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.5</version>
</dependency>
1
2
3
4
5

# 步骤二、配置SpringBoot文件

在application.yaml配置文件中添加以下配置:

#pagehelper
pagehelper:
    helperDialect: mysql
    reasonable: true
    supportMethodsArguments: true
    params: count=countSql
    returnPageInfo: check
1
2
3
4
5
6
7
  • pagehelper.helper-dialect : 指定分页插件使用哪种语言
  • pagehelper.offset-as-page-num : 默认为 false, 该参数对使用RowBounds作为分页参数时有效,当为true时,会将RowBounds的offset参数当成pageNum使用
  • pagehelper.row-bounds-with-count : 默认为false,该参数对使用RowBounds作为分页参数时有效,当该参数值为true时,使用RowBounds分页会进行count查询
  • pagehelper.page-size-zero : 默认为false,当该参数为true时,如果pageSize=0或者RowBounds.limit=0就会查询所有结果
  • pagehelper.reasonable : 分页合理化参数,默认为false,当该值为true,pageNum<=0默认查询第一页,pageNum>pages时会查询最后一页,false时直接根据参数进行查询
  • pagehelper.params : 为了支持startPage(Object params)方法,增加该参数来配置参数映射,用于从对象中根据属性名取值,可以配置pageNum,pageSize,pageSizeZero, reasonable, 不配置映射是使用默认值, 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero
  • pagehelper.support-methods-arguments : 支持通过 Mapper接口参数来传递分页参数,默认为false, 分页插件会从查询方法的参数中根据params配置的字段中取值,查找到合适的就进行分页
  • pagehelper.auto-runtime-dialect : 默认为false, 为true时允许在运行时根据多数据源自动识别对应的方言进行分页
  • pagehelper.close-conn : 默认为true, 当使用运行是动态数据源或者没有设置helperDialect属性自动获取数据库类型时,会自动获取一个数据库连接,通过该属性来设置是否关闭获取的这个连接,默认为true关闭,false不会自动关闭

# 步骤三、使用

@Mapper
public interface ArticleDao {

    List<Article> getArticleList();
}
1
2
3
4
5
<?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.singerw.dao.ArticleDao">

    <select id="getArticleList" resultMap="articleMap">
    select *
    from article
    </select>


    <resultMap id="articleMap" type="Article">
    <id property="aID" column="a_id"/>
    <result property="articleTitle" column="article_title"/>
    <result property="articleContent" column="article_content"/>
    <result property="headImage" column="head_image"/>
    <result property="articleAuthor" column="article_author"/>
    <result property="typeNumber" column="type_number"/>
    <result property="pageviews" column="pageviews"/>
    <result property="createTime" column="create_time"/>
    <result property="isState" column="is_state"/>
    </resultMap>

    </mapper>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public interface ArticleDaoService {
    
    ResponseData<Article> getArticleList(Integer page,Integer limit);
}
1
2
3
4
@Service
public class ArticleDaoServiceImpl implements ArticleDaoService {

    @Autowired
    private ArticleDao articleDao;

    @Override
    public ResponseData<Article> getArticleList(Integer page, Integer limit) {
        PageHelper.startPage(page, limit);
        List<Article> articleList = articleDao.getArticleList();
        PageInfo<Article> pageInfo = new PageInfo(articleList);
        ResponseData<Article> responseData = new ResponseData(0, "success", pageInfo.getTotal(), articleList);
        return responseData;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@RestController
@RequestMapping("/api")
public class ArticleController {

    @Autowired
    private ArticleDaoService articleDaoService;

    @GetMapping("/artList")
    public ResponseData<Article> getArticleList(
        @RequestParam(name = "page", defaultValue = "1") Integer page,
        @RequestParam(name = "limit", defaultValue = "10") Integer limit) {
        ResponseData<Article> responseData = articleDaoService.getArticleList(page, limit);
        return responseData;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
编辑 (opens new window)
#SpringBoot#PageHelper
批量物理删除和逻辑删除
集成logback日志

← 批量物理删除和逻辑删除 集成logback日志→

最近更新
01
Maven资源导出问题终极版
10-12
02
《MyBatis-Plus》学习笔记
10-07
03
MyBatis-Plus—配置日志
10-07
更多文章>
Theme by Vdoing | Copyright © 2020-2021 版权所有 | repository.singerw.com
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×