前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谈谈你在开发遇到的问题

谈谈你在开发遇到的问题

作者头像
收心
发布2022-11-14 16:43:43
2300
发布2022-11-14 16:43:43
举报
文章被收录于专栏:Java实战博客Java实战博客

问这个问题的面试官就是脑子有病。谁遇到问题能天天记得,时间久了,谁不忘记?奶奶滴腿,我还得专门写篇文章记一下。焯

问题1:Mybatis预编译限制

我们有个数据同步场景,从数据库A同步到数据库B中。我们允许数据同步延迟1天,我们就每12小时执行一个定时任务,用于同步数据。我们从库A拿到数据,往数据库B插入。一开始测试的时候,用Batch模式插入,数据量很小,没发现同步有啥问题。后来数据量大了之后,就报错了。一条sql使用#{} 预编译次数不得超过2100个。也就是这个集合最大长度就是 (2100 / sql字段个数) – 1

问题2:PageHelper页数修正问题

Mybatis文档有这句话:你希望用户输入的页数不在合法范围(第一页到最后一页之外)时能够正确的响应到正确的结果页面, 那么你可以配置 reasonable 为 true,这时如果 pageNum<=0 会查询第一页,如果 pageNum>总页数 会查询最后一页。

项目中使用的是reasonable = true。我在同步数据的时候,利用页数+1,查询新的集合,当页数超标后,集合长度肯定就变成0了。判定是以集合长度为准的。于是就出现死循环的场景。于是就改为通过页数是否大于最大页数作为do while循环的条件。

特殊说明: 以上文章,均是我实际操作,写出来的笔记资料,不会盗用别人文章!烦请各位,请勿直接盗用!转载记得标注来源!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题1:Mybatis预编译限制
  • 问题2:PageHelper页数修正问题
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档