故障说明

首先这个问题是在我们做项目迁移的时候遇到的,在新写的接口中最开始的去调用接口总是没有问题的,但是如果一直调用这个接口,发现会出现数据的丢失,所以,我看了一下日志信息,发现是sql语句的错误,然后我就很神奇的发现,他的sql语句多出了一个limit,然后我定位到了那段业务代码,发现并没有分页的代码,那么这个分页是哪里来的呢,我猜想可能是我的线程池被污染了被别的分页代码,我就在所有调用分页 PageHelper.startPage这个方法调用完成之后,加了一段, PageHelper.clear,然后重新调用了多次接口发现问题没有复现,可以证实我的猜想是正确的。

出现故障的原理

  1. 设置了PageHelper.startPage(pageStart, pageSize)
  2. 假设接下来没有执行后续的查询
  3. 此时PageHelper的分页设置绑定在该线程的ThreadLocal里
  4. 新的SQL查询恰好使用了该线程,则自动使用分页查询(多次使用后就出现了这种问题)

问题的解决方法

在我们每一个分页代码结束加上PageHelper.remove();当然为了省事,我直接在项目中使用了一个aop,在所有service方法开始之前都调用PageHelper.remove();这个方法,让其他的方法的分页不能影响到这个方法,使各个方法相互独立

mybatis采坑之 PageHelper.startPage出现两个limit情况相关推荐

  1. spring整合mybatis采坑

    本来这个错误是整合spring和mybatis遇到的错误,但是一直没有解决,但是在做SpringMVC时也了出现了这样的错误 org.springframework.beans.factory.Bea ...

  2. mysql limit括号_采坑笔记——mysql的order by和limit排序问题

    背景说明 今天写出一个十分弱智的bug,记录一下,提醒自己以后别这种犯错,不怕丢人哈~ 在写一个分页查询记录的sql时,要根据添加的时间逆序分页输出,之前的写法是酱紫 select record.a, ...

  3. mysql limit 排序_采坑笔记——mysql的order by和limit排序问题

    背景说明 今天写出一个十分弱智的bug,记录一下,提醒自己以后别这种犯错,不怕丢人哈~ 在写一个分页查询记录的sql时,要根据添加的时间逆序分页输出,之前的写法是酱紫 select record.a, ...

  4. 初学MyBatis PageHelper.startPage(m,n)报错,自动添加limit

    问题描述 初学MyBatis,使用分页插件的时候,输入PageHelper.startPage(m,n)会报如下错误,导致报红不分页 org.apache.ibatis.exceptions.Pers ...

  5. 微信小程序后端mysql数据库_微信小程序后台springboot+mybatis+mysql“采坑”集锦

    "采坑"错误集锦 1.service层 错误描述:2019-04-14 22:09:52.027 ERROR 8416 --- [nio-8082-exec-5] o.a.c.c. ...

  6. Mybatis插件原理和PageHelper结合实战分页插件(七)

    今天和大家分享下mybatis的一个分页插件PageHelper,在讲解PageHelper之前我们需要先了解下mybatis的插件原理.PageHelper 的官方网站:https://github ...

  7. springboot中的mybatis是如果使用pagehelper的

    springboot中的mybatis是如果使用pagehelper的 springboot中使用其他组件都是基于自动配置的AutoConfiguration配置累的,pagehelper插件也是一样 ...

  8. H5拍照、预览、压缩、上传采坑记录

    H5拍照.预览.压缩.上传采坑记录 公司项目前段时间需要实现手机拍照上传的功能,本来以为用createObjectURL和canvas可以很轻松的实现,结果发现问题多多,特此记录下来. DEMO预览( ...

  9. DB数据源之SpringBoot+MyBatis踏坑过程(三)手工+半自动注解配置数据源与加载Mapper.xml扫描...

    DB数据源之SpringBoot+MyBatis踏坑过程(三)手工+半自动注解配置数据源与加载Mapper.xml扫描 liuyuhang原创,未经允许禁止转载    系列目录连接 DB数据源之Spr ...

  10. bootstrap-select采坑

    bootstrap-select采坑 1.class="selectpicker" 普通的下拉框功能 2.title="请选择城市名称" title的作用与pa ...

最新文章

  1. 妙用vector:根据第一个不等的元素比较两个序列大小的利器
  2. 特征重要性、特征集成+FeatureUnion、特征选择变换器+ColumnTransformer、标签特征变换+TransformedTargetRegressor、特征质量、自动学习数据中的特征
  3. SCAPY pcap文件数据分析 python3
  4. CTFshow 文件包含 web87
  5. 盘点“逆市上涨”BZ第一季度回购亮点
  6. 搜索引擎蜘蛛爬虫原理
  7. Sphinx API文档例子
  8. 基于“中国架构”,为政企数字化转型而生,中国电子云自带“三大光环”
  9. OpenCV精进之路(十三):角点检测
  10. 嵌入式软件设计第7次实验报告
  11. (转)最近100年全球最顶尖公司的共性
  12. 机器学习的归宿《终极算法》·一
  13. 弱电工程师和网络工程师有什么区别?工作内容是什么?
  14. 赛事解析|乒乓球时序动作定位大赛亚军方案分享
  15. CNTV获首张互联网电视牌照
  16. 获取U盘 VID,PID
  17. 移动互联网创业是什么意思?有哪些要注意的?
  18. QQ空间说说如何批量删除
  19. win10+睡眠+计算机命令,Win10关闭系统休眠——使用powercfg –h off命令轻松节省硬盘容量...
  20. Flutter中的多选按钮组件Checkbox

热门文章

  1. Php图片验证码显示不出来的解决过程
  2. java 继承是什么_java中继承指的是什么
  3. 微信小程序登陆\code详解
  4. 安装cad提示command_win7系统安装CAD软件失败总是提示“错误1327”怎么解决
  5. python爬取天天基金历史净值_python爬取天天基金网全部基金的历史全部净值
  6. 日版(SoftBank, AU) iPhone5回国使用攻略调查
  7. EAS开发单据分录和序时簿添加合计
  8. Oracle中的next_day(date,char)
  9. KEIL编译时Warning: C3008W: splitting LDM/STM has no benefit的消除
  10. 强烈分享8个功能强大,可以极大提高工作效率的软件