当前位置: 首页 > news >正文

深圳网站制作公司做网站的分页查询

深圳网站制作公司,做网站的分页查询,做淘宝客需要自己建网站吗,珠海网站建设培训班文章目录 前言原因1、Mybatis Plus版本的问题2、Mapper.xml文件中SQL语句格式问题3、Mybatis Plus默认分页拦截器问题4、分页参数传参问题5、分页配置的问题 解决方案1、升级对应的Mybatis-plus版本分页插件配置问题3、自定义分页拦截器4、正确的参数5、不同版本的配置文件3.4.… 文章目录 前言原因1、Mybatis Plus版本的问题2、Mapper.xml文件中SQL语句格式问题3、Mybatis Plus默认分页拦截器问题4、分页参数传参问题5、分页配置的问题 解决方案1、升级对应的Mybatis-plus版本分页插件配置问题3、自定义分页拦截器4、正确的参数5、不同版本的配置文件3.4.0之前版本3.4.0之后版本 完结 前言 前端小伙伴今天问我们后端同学说他写得列表有问题分页数据没有成功将所有数据都返回给前端了 后端同学有些懵逼的说我已经使用了service的pages接口来查询的列表为什么失败了呢 各位小伙伴你们知道怎么解决这个问题吗先考虑一下。 原因 1、Mybatis Plus版本的问题 当我们使用的是较旧的版本可能存在分页失效的问题。 解决办法升级到最新版本。 2、Mapper.xml文件中SQL语句格式问题 在Mapper.xml中书写SQL语句时当格式错误了就会导致分页失效。 正确的格式在最后加上limit #{offset}, #{pageSize} #{offset}偏移量 #{pageSize}每页显示的数量。 3、Mybatis Plus默认分页拦截器问题 默认情况下Mybatis Plus自带了一个分页插件com.baomidou.mybatisplus.plugins.PaginationInterceptor。但是有时候在进行复杂查询时这个分页插件可能会失效导致分页查询不到数据。 4、分页参数传参问题 如果使用的是分页查询方法那么在调用方法时就要传入Page对象而且必须在此前调用setRecordsTotal方法设置总记录数。如果不设置总记录数则分页插件无法工作。 5、分页配置的问题 不同版本的mybatis-plus需要的分页配置是不同的是分水岭版本为3.4.0 在它之后的版本开始将原有的PaginationInterceptor 标记为过时需要换成MybatisPlusInterceptor 解决方案 上面我们列出了5个导致分页结果失败的原因接下来我们看看如何解决呢分别一一对应来看。 1、升级对应的Mybatis-plus版本 如果我们使用的旧版本的Mybatis-plus则可以升级为新版的。 在pom文件里面更新 dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.3/version /dependency分页插件配置问题 这个可以按照上面所说的在Mapper.xml文件中调整 select idselectForPage resultMapBaseResultMapselect * from tb_userwhere1 1/wherelimit #{offset}, #{pageSize} /select配置Mybatis-plus分页插件可以在application.yml文件中加入如下配置 mybatis-plus:configuration:# 分页插件一般不用修改page-params: pageNum1;pageSize10;countcountSql3、自定义分页拦截器 Mybatis-plus提供了自定义分页拦截器的功能可以根据我们自己的业务进行自定义。自定义分页拦截器需要继承com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor类然后在实现intercept方法在该方法中来处理我们具体的分页逻辑。 例如可以根据前端传入的分页参数进行分页而不是使用默认的分页参数。具体代码示例如下 public class CustomPaginationInterceptor extends PaginationInterceptor {Overridepublic Page SqlParserInterceptor(MappedStatement ms, Page page) {// 获取前端传入的分页参数Integer pageNum (Integer) page.get(pageNo);Integer pageSize (Integer) page.get(pageSize);// 处理分页逻辑int offset (pageNum - 1) * pageSize;return super.SqlParserInterceptor(ms, new Page(offset, pageSize));} }4、正确的参数 假如在调用分页查询方法的时候没有传入Page对象或者是没有调用setRecordsTotal方法设置总条数则分页查询不到数据。可以采用以下方式正确传参具体代码如下 // 分页查询方法 IPageTest pageTest new Page(pageNo, pageSize); // 设置总记录数 pageTest .setRecordsTotal(testMapper.selectCount(null)); // 查询 IPageTest pageResult testMapper.selectPage(pageTest , null);5、不同版本的配置文件 接下来我们看看不同版本的配置文件具体如何实现 3.4.0之前版本 在启动类中添加Bean配置类代码如下 /** Mybatis plus 分页插件 **/Beanpublic PaginationInterceptor paginationInterceptor() {PaginationInterceptor paginationInterceptor new PaginationInterceptor();// 设置请求的页面大于最大页后操作 true调回到首页false 继续请求 默认false// paginationInterceptor.setOverflow(false);// 设置最大单页限制数量默认 500 条-1 不受限制paginationInterceptor.setLimit(-1);return paginationInterceptor;}3.4.0之后版本 配置类代码如下 package com.cafeteria.reservation.admin.config;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 MyBatisConfig {Beanpublic MybatisPlusInterceptor paginationInterceptor() {MybatisPlusInterceptor mybatisPlusInterceptor new MybatisPlusInterceptor(); //这是分页拦截器PaginationInnerInterceptor paginationInnerInterceptor new PaginationInnerInterceptor();paginationInnerInterceptor.setOverflow(false);paginationInnerInterceptor.setMaxLimit(500L);mybatisPlusInterceptor.addInnerInterceptor(paginationInnerInterceptor); //设置请求的页面大于最大页后操作true调回到首页false继续请求默认false // paginationInterceptor.setOverflow(false);//设置最大单页限制数量默认500条-1不受限制 //paginationInterceptor.setLimit(500); //开启 count 的 join 优化,只针对部分 left joinreturn mybatisPlusInterceptor;} } 完结 今天的内容就到这里感觉对你有帮助可以点击下方卡片关注《coder练习生》
http://www.zqtcl.cn/news/101593/

相关文章:

  • 苏州网站制作及推广中国优秀的企业网站
  • 网站开发语言太老东莞哪家公司做网站比较好
  • 单位网站制作费用报价单博客和个人网站建设情况
  • 山东网站建设公司电话全球建筑设计网站
  • wordpress 站点描述国外优秀网页设计赏析
  • php红酒网站建设软件开发外包项目合作
  • 做网站的都改行做什么了上海推牛网络科技有限公司
  • 在哪里建设网站dedecms做网站注意事项
  • 垂直类网站怎么做推广互联网站的建设维护营销
  • 手机网站大全排行江西省赣州市邮政编码
  • 集团网站建设建站模板seo优化工具软件
  • 大连项目备案网站网站建设一下需要多少费用
  • 松溪网站建设做网站外包
  • sdcms网站建设模板WordPress自定义连接菜单
  • 做设计常用的素材网站外贸平台销售
  • 建网站一般最低多少钱地方门户模板
  • 网站开发虚拟主机管理系统星巴克网络营销方式
  • phpnow 搭建网站网站建设一般怎么付款
  • 网站开发三剑客湖州市南浔区建设局网站
  • 江西专业的企业网站建设公司长沙做网站找哪家好
  • 国外互联网资讯网站南宁专业网站建设公司
  • 苏州新区做网站公司pc网站建设费用
  • 做影视网站需要多少钱2003网站建设
  • 河南智能网站建设哪家好重庆在建工程项目
  • 爱站网站长工具网站查看空间商
  • 网站营销活动页面制作wordpress 只显示一个主题
  • 电子网站建设怎么做秦皇岛网站制作公司
  • 网站建站模板样例平台推广怎么做
  • 网站建设首选亿企联盟做网站宣传有用吗
  • 网站建设公司行业苏州高端网站建设咨询