springboot+mybatisplus分页查询
需求:类似sqlserver sql语句查询top 100条数据,如何在springboot+mybatisplus中实现(使用的是sqlserver2012数据库)
1.pom文件中引入mybatisplus依赖
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.5</version>
</dependency>
<!-- SQL Server -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>8.4.1.jre8</version>
</dependency>
2.由于非页面点击下一页的使用场景,只是接口中查询前100条数据,故使用selectList方法即可

3.创建分页查询拦截器(必须要有此配置类,否则只调用selectList方法无效)
package com.example.webserver.config; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class MybatisPlusConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor(){ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.SQL_SERVER)); return interceptor; } }
4.编写分页查询方法(sqlserver必须要先排序才能分页,否则报““OFFSET”附近有语法错误”)
//查询数据库待报工数据 QueryWrapper<ZkProductStation> wrapper = new QueryWrapper<ZkProductStation>(); wrapper.eq("Reported", 0); wrapper.orderByAsc("CreationTime"); IPage<ZkProductStation> page = new Page<>(1,100); List<ZkProductStation> productStationsList = zkProductStationMapper.selectList(page,wrapper); System.out.println("前2条数据:"+productStationsList.toString());

浙公网安备 33010602011771号