SpringBoot Mybatis 分页

SpringBoot Mybatis 分页有两种方式,比较相似,具体如下:

方式一:使用原生的PageHelper

1、在pom.xml中引入依赖

<dependency>
   <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>4.1.3</version>
</dependency>

2、新增MybatisConfig

@Configuration
public class MybatisConfig {

    @Bean
    public PageHelper pageHelper() {
        PageHelper pageHelper = new PageHelper();
        Properties p = new Properties();
        p.setProperty("dialect", "Mysql");
        p.setProperty("offsetAsPageNum", "true");
        p.setProperty("rowBoundsWithCount", "true");
        pageHelper.setProperties(p);
        return pageHelper;
    }
}

方式二、使用PageHelper的starter

1、在pom.xml中引入依赖

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

2、在application.properties配置pagehelper的属性

# 插件配置 pagehelper
# 数据库连接类型
pagehelper.helperDialect=mysql
# 分页合理化参数,默认值为false。当该参数设置为 true 时,pageNum<=0 时会查询第一页, pageNum>pages(超过总数时),会查询最后一页
pagehelper.reasonable=true
# 支持通过 Mapper 接口参数来传递分页参数
pagehelper.supportMethodsArguments=true

使用方法

1、mapper.xml,获取全部数据,不带任何参数等

 <select id="selectAll" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List" />
    from user
  </select>

2、分页使用

@Override
    public PageInfo<User> getListUser(Integer pageNum, Integer pageSize) {
        PageHelper.startPage(pageNum, pageSize);//关键 启用分页
        List<User> userList =userMapper.selectAll();
        PageInfo<User> pageInfo = new PageInfo<User>(userList);
        return pageInfo;
    }

注:两种方法不要混在一起使用,选一种即可,否则会出现混乱

猜你喜欢

转载自blog.csdn.net/weixin_41003771/article/details/103442503