96SEO 2026-02-20 03:25 14
二、使用MP#xff08;mybatisplus#xff09;的分页插件

xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.qcby/groupIdartifactIdSpringBootMybatisPlus/artifactIdversion1.0-SNAPSHOT/versionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.4.0/versionrelativePath/
--/parentdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.1/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.46/versionscoperuntime/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project
org.mybatis.spring.annotation.MapperScan;
org.springframework.boot.SpringApplication;
org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication
MapperScan(com.qcby.SpringBoot.mapper)
{SpringApplication.run(SpringBootApplication1.class,
com.qcby.SpringBoot.pojo;import
com.baomidou.mybatisplus.annotation.TableName;
com.qcby.SpringBoot.pojo;import
com.baomidou.mybatisplus.annotation.TableId;
com.baomidou.mybatisplus.annotation.TableLogic;
com.baomidou.mybatisplus.annotation.TableName;
{//因为用到雪花算法所以用Long属性TableIdprivate
com.qcby.SpringBoot.service;import
com.baomidou.mybatisplus.extension.service.IService;
com.qcby.SpringBoot.pojo.User;/***
UserService继承IService模板提供的基础功能*/
com.qcby.SpringBoot.service.Impl;import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
com.qcby.SpringBoot.mapper.UserMapper;
com.qcby.SpringBoot.service.UserService;
org.springframework.stereotype.Service;/***
ServiceImpl实现了IService提供了IService中基础功能的实现*
若ServiceImpl无法满足业务需求则可以使用自定的UserService定义方法并在实现类中实现*/
com.qcby.SpringBoot.mapper;import
com.baomidou.mybatisplus.core.mapper.BaseMapper;
com.baomidou.mybatisplus.core.metadata.IPage;
com.baomidou.mybatisplus.extension.plugins.pagination.Page;
org.apache.ibatis.annotations.Mapper;
org.apache.ibatis.annotations.Param;
org.apache.ibatis.annotations.Select;Mapper
com.qcby.SpringBoot.mapper;import
com.baomidou.mybatisplus.core.mapper.BaseMapper;
com.qcby.SpringBoot.pojo.Product;
org.apache.ibatis.annotations.Mapper;Mapper
com.zaxxer.hikari.HikariDataSource#
jdbc:mysql://localhost:3306/mybatis_plus?characterEncodingutf-8useSSLfalseusername:
mybatis-plus:configuration:log-impl:
org.apache.ibatis.logging.stdout.StdOutImpl
首先要在容器中配置一个mybatisplus分页插件的bean。
可以自定义一个配置类也可以在启动类中配置因为启动类也是一个配置类。
com.qcby.SpringBoot.config;import
com.baomidou.mybatisplus.annotation.DbType;
com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
org.springframework.context.annotation.Bean;
org.springframework.context.annotation.Configuration;Configuration
每个数据库厂商对于分页的实现语法有差别因此在声明该拦截时需要指定应用的数据库类型*
MybatisPlusInterceptor();interceptor.addInnerInterceptor(newPaginationInnerInterceptor(DbType.MYSQL));//由于各个数据库的语法会有差别因此要指明数据库类型return
com.baomidou.mybatisplus.extension.plugins.pagination.Page;
com.qcby.SpringBoot.mapper.ProductMapper;
com.qcby.SpringBoot.mapper.UserMapper;
com.qcby.SpringBoot.pojo.Product;
org.springframework.beans.factory.annotation.Autowired;
org.springframework.boot.test.context.SpringBootTest;import
page.getRecords();list.forEach(System.out::println);System.out.println(当前页page.getCurrent());System.out.println(每页显示的条数page.getSize());System.out.println(总记录数page.getTotal());System.out.println(总页数page.getPages());System.out.println(是否有上一页page.hasPrevious());System.out.println(是否有下一页page.hasNext());}}二、使用自定义的分页插件
com.qcby.SpringBoot.mapper;import
com.baomidou.mybatisplus.core.mapper.BaseMapper;
com.baomidou.mybatisplus.core.metadata.IPage;
com.baomidou.mybatisplus.extension.plugins.pagination.Page;
org.apache.ibatis.annotations.Mapper;
org.apache.ibatis.annotations.Param;
org.apache.ibatis.annotations.Select;Mapper
不用加limit语句因为配置了一个拦截的插件只需要传入page对象还是使用的MP的分页插件*
com.baomidou.mybatisplus.extension.plugins.pagination.Page;
com.qcby.SpringBoot.mapper.ProductMapper;
com.qcby.SpringBoot.mapper.UserMapper;
com.qcby.SpringBoot.pojo.Product;
org.springframework.beans.factory.annotation.Autowired;
org.springframework.boot.test.context.SpringBootTest;import
testSelectPageVo(){//设置分页参数PageUser
5);userMapper.selectPageVo(page,
page.getRecords();list.forEach(System.out::println);System.out.println(当前页page.getCurrent());System.out.println(每页显示的条数page.getSize());System.out.println(总记录数page.getTotal());System.out.println(总页数page.getPages());System.out.println(是否有上一页page.hasPrevious());System.out.println(是否有下一页page.hasNext());}
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback