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());
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界