PageHelper 插件踩过的坑

  1. PageHelper.startPage(pageNum, pageSize);要紧跟 select

  2. 在将集合数据传入pageInfo的时候, 要用有参数的的构造, 不能使用set
    PageInfo pageInfo = new PageInfo<>(pictureInfos);

  3. 尽量不要用pageHelper 中的排序, 排序的时候, 尽量用example 中的排序, 因为 先筛选后排序, 再分页查询, 更符合逻辑

  4. 在一个页面中, 两个分页的地方, 不要调用同一个分页service方法, 因为, pageHelper, 会有total 的坑, 不知道的, 可以搜索 pageHelper total 的问题, 解决办法就是, 再重新写一个分页的service

  5. sql 中不要用重复的字段,有重复的就取别名。Mysql报错Duplicate column name xxx


一: 下面是正确的代码, 注意顺序, 和PageInfo 的有参数构造, 尽量这样写
PageHelper.startPage(pageNum, pageSize);
List<PictureInfo> pictureInfos = pictureInfoMapper.selectByExample(example);
PageInfo<PictureInfo> pageInfo = new PageInfo<>(pictureInfos);
二: 当PageHelper和foreach循环时候, 遇到个小坑, 自己在返回的集合中, 自己想对每个VideoInfo的VideoUrl,做一下处理.下面是正确的做法
 PageHelper.startPage(pageNum, pageSize);List<VideoInfo> videoInfos = videoInfoMapper.selectByExample(example);for (VideoInfo video : videoInfos){if (!video.getVideoUrl().startsWith("http")){video.setVideoUrl(videoPlayPrefix+video.getVideoUrl());}}PageInfo<VideoInfo> pageInfo = new PageInfo<>(videoInfos);
自己原先的做法是,下面的PageHelper.startPage(pageNum, pageSize);List<VideoInfo> videoInfos = videoInfoMapper.selectByExample(example);List<VideoInfo> list = new ArrayList<>();for (VideoInfo video : videoInfos){if (!video.getVideoUrl().startsWith("http")){video.setVideoUrl(videoPlayPrefix+video.getVideoUrl());}list.add(video);}PageInfo<VideoInfo> pageInfo = new PageInfo<>(list);结果是错的, 返回的总记录条数, 总是只返回页大小个数.总结:foreach 循环, 产生的是对象的引用, 是对原先的地址的引用, 是指针!
三: PageHelper.startPage(pageNum, pageSize); 这个放的位置决定了开始使用分页的位置, 尤其是有两个查询时, 要看清startPage放的位置
四:[转载]Duplicate column name 'xxx’错误
使用Paginator插件进行分页时,如果查询的字段中有重复,就会报错 Duplicate column name xxx。
如果单独执行查询语句,mysql是支持重复字段查询的,但是使用了Paginator插件后,会在查询SQL外面包一层进行统计,就变成了
select count(1) from (select fid,id,fid from user_info) post;

PageHelper 插件踩过的坑相关推荐

  1. SpringBoot中使用Mybatis-plus整合PageHelper分页插件踩坑

    今天使用SpringBoot中使用Mybatis-plus整PageHelper分页插件把我给坑惨了,我报错的pom.xml配置如下,其它的依赖就忽略掉了 <!--pagehelper --&g ...

  2. Go:VScode安装go插件踩坑记录

    文章目录 一.由来 二. 正文 Q1:Win10设置GOPATH 后不生效 1.原因分析 2.解决方案 Q2:VSCODE安装GOLANG插件 1.原因分析 2.解决方案 GOPATH和GOROOT相 ...

  3. PageHelper这种情况下有坑

    闲话少说,进入本期内容的正题. 省流版本:PagerHelper在与PostgreSQL搭配使用时,会有坑! 你如果想知道具体是什么样的一个坑,往下看,我来给大伙儿展开说说. 背景 小黑最近在做一个项 ...

  4. PageHelper这种情况下有坑!

    背景 小黑最近在做一个项目,常规的SpringBoot+Mybatis架构,数据库使用的是PostgreSQL,并且有一些场景需要使用到分页查询,很自然的就使用了PageHelper这个分页工具,如果 ...

  5. PageHelper这种情况下有坑!注意别吃亏

    哈喽各位小伙伴~最近新做了一个项目,常规的SpringBoot+Mybatis架构,数据库使用的是PostgreSQL,并且有一些场景需要使用到分页查询,很自然的就使用了PageHelper这个分页工 ...

  6. PageHelper这种情况下有坑,注意别吃亏

    哈喽各位小伙伴~最近新做了一个项目,常规的SpringBoot+Mybatis架构,数据库使用的是PostgreSQL,并且有一些场景需要使用到分页查询,很自然的就使用了PageHelper这个分页工 ...

  7. ubuntu下vscode调试开发踩过的坑

    最近刚过安装了中文版的ubuntu18.04.1,安装完之后想在ubuntu上安装vscode做c/c++的开发调试,踩了不少坑,在此记录一下,希望大家在这条路上不要再踩同样的坑. 1.安装vscod ...

  8. 记录自己首次在eclipse中配置tomcat并运行jsp踩过的坑

    记录自己首次在eclipse中运行jsp踩过的坑 我使用的版本 1.jdk下载 java环境配置 2.Tomcat 服务器的安装与配置 3.下载eclipse并配置tomcat 3.1第一次下载ecl ...

  9. 使用ElasticSearch踩过的坑

    使用ElasticSearch将近3个月了,在使用过程中,陆陆续续踩了不少坑,每次觉得无法逾越时,心里都想放弃,一是因为这东西要完全掌握不是那么容易,需要花很多时间:二是如果继续使用曾经用过的zabb ...

最新文章

  1. JDK 环境变量设置参考
  2. NoSQL数据库探讨之一 - 为什么要用非关系数据库?
  3. MySQL执行计划解析
  4. 全球服务器系统市场份额,IDC发布2017年第一季度全球融合系统报告 超融合市场最火爆...
  5. java学习笔记20(Arraylist复习,Collection接口方法,迭代器,增强型for循环)
  6. Linux下如何编译并运行C程序
  7. C语言解析动态html,【c语言】使用gumbo解析HTML
  8. 6-MyBatis基础
  9. IDEA Mybatis xml中配置sql代码自动提示【必看】
  10. 尚学堂python培训靠谱吗_尚学堂百战程序员:Python的字符串
  11. PHP 执行系统命令函数
  12. python汽车租赁系统django
  13. [4G5G专题-34]:物理层-浅谈m序列的原理以及在NR PSS中的应用
  14. 微信小程序获取点击事件的值
  15. while(i--)和while(--i)的区别
  16. Unity3D热更新技术点——ToLua(上)
  17. pdf转换工具有哪些?试一试这几个方法!
  18. 专家提醒:“对乙酰氨基酚”(该品国际非专有药名为Paracetamol,商品名很多)不宜过量使用
  19. Vulkan学习(十五): 总结
  20. python回调廖雪蜂_Python 廖雪峰教程《三》

热门文章

  1. Linux进程的详细内容
  2. Markdown用法排版
  3. DRL实战:DDPG A3C | Gym环境中经典控制问题Pendulum-v0
  4. 刷脸支付只是开端 浅谈3D视觉如何推进新零售崛起
  5. 路由 IS-IS NSR
  6. mybatis中设置主键返回
  7. JAVA基础03-Object类,常用类,基本的数据结构, Collection常用体系,泛型-泛型通配符
  8. 多智能体深度强化学习综述与批判——Matthew E. Taylor
  9. 【cocos2d-x入门实战】微信飞机大战之十三:游戏场景过渡
  10. 关于自制CMSIS_DAP离线下载器下载算法的代码说明:“0xE00ABE00, 0x062D780D, 0x24084068, 0xD3000040, 0x1E644058, 0x1C49D1FA“