当前位置 : 主页 > 编程语言 > java >

SpringBoot 使用Mybatis分页插件实现详解

来源:互联网 收集:自由互联 发布时间:2021-05-13
这篇文章主要介绍了SpringBoot 使用Mybatis分页插件实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1、导入分页插件包

这篇文章主要介绍了SpringBoot 使用Mybatis分页插件实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1、导入分页插件包和jpa包

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper-spring-boot-starter</artifactId>
      <version>1.2.5</version>
    </dependency>

2、增加分页配置

# 主键自增回写方法,默认值MYSQL,详细说明请看文档
mapper:
 identity: MYSQL
# 设置 insert 和 update 中,是否判断字符串类型!=''
 not-empty: true
# 枚举按简单类型处理
 enum-as-simple-type: true
######### 分页插件 ##########
pagehelper:
 helper-dialect: mysql
 params:
  count: countSql
 reasonable: false
 support-methods-arguments: true

配置说明:

  • mapper.enum-as-simple-type: 枚举按简单类型处理,如果有枚举字段则需要加上该配置才会做映射
  • mapper.not-empty: 设置以后,会去判断 insert 和 update 中符串类型!=''“
  • pagehelper.reasonable: 分页合理化参数,默认值为false。当该参数设置为 true 时,pageNum<=0 时会查询第一页, pageNum>pages(超过总数时),会查询最后一页。默认false 时,直接根据参数进行查询。
  • support-methods-arguments: 支持通过 Mapper 接口参数来传递分页参数,默认值false,分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取值,查找到合适的值时就会自动分页。

3、使用插件进行分页查询

  public PageInfo<User> selectByUsername(String username,int limit, int page){
    PageHelper.startPage(page, limit).setOrderBy("id desc");
    PageInfo<User> userPageInfo = new PageInfo<>(this.userMapper.selectByuserName(username));
    return userPageInfo;
  }

4、测试

此处不在写Controller类及中间Service的调用,直接看调用结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

网友评论