广州网站设计成功柚米科技荣耀手机官网查询正品

张小明 2026/1/9 18:55:27
广州网站设计成功柚米科技,荣耀手机官网查询正品,建设银行温州支行官方网站,宁波网页美工培训这个场景非常典型#xff1a;报表页面用 URL 传参 outId7,8#xff0c;SQL 写了 o.id IN (${outId})#xff0c;但预览只出来 7 的数据#xff0c;没有 8。 下面我用“先复现 → 再解释原因 → 再给可落地方案”的方式#xff0c;把它写成一篇完整教程。1. 你的目标与现象…这个场景非常典型报表页面用 URL 传参outId7,8SQL 写了o.id IN (${outId})但预览只出来7的数据没有8。下面我用“先复现 → 再解释原因 → 再给可落地方案”的方式把它写成一篇完整教程。1. 你的目标与现象目标在积木报表里让这类 SQL 支持多值查询...WHEREo.deleted0ANDi.deleted0ANDo.idIN(${outId})ORDERBYo.id,i.idURL 传参类似/jmreport/view/xxx?token...tenantId1outId7,8现象只查出了id7的数据id8没出来。2. 根因${outId}在积木报表里常被当成“字符串”导致 MySQL 只认到逗号前积木报表 SQL 数据集的参数占位符常见写法是${参数名}并支持通过 URL 传参。([CSDN][1])关键点在于积木报表在解析参数时经常把它当做“文本值”处理最终 SQL 可能会变成类似这样示意ANDo.idIN(7,8)而o.id是数字字段时MySQL 会做隐式转换7,8转数字会被当成7遇到逗号就截断于是等价于ANDo.idIN(7)所以你看到的结果就是只有 7没有 8。3. 为什么你写foreach会直接报错你写的这一段foreach collectionoutIditemidseparator,#{id}/foreach这是MyBatis XML 动态 SQL语法不是数据库 SQL 语法。积木报表的SQL 数据集会把你输入的内容当成“纯 SQL 字符串”丢给数据库执行数据库当然不认识foreach于是报bad SQL grammar / SQLSyntaxErrorException这种语法错误你日志里还出现了AND o.id IN AND o.id IN ( )说明最终拼出来就是不合法 SQL。4. 你用FIND_IN_SET为什么能成功你最后改成ANDFIND_IN_SET(o.id,${outId})它成功的本质原因是FIND_IN_SET(x, 7,8)这种写法本来就是用来在“逗号分隔字符串列表”里找元素的积木报表把${outId}当字符串后很可能最终变成了FIND_IN_SET(o.id,7,8)于是o.id7和o.id8都能匹配上。这一招确实常被用作“积木报表 in 传参不生效”的 workaround一些版本里更常见。([CSDN][2])⚠️ 但它也有明显缺点基本用不上索引数据量大时会慢后面会说更推荐的写法。5. 推荐解法强烈建议用官方表达式函数DaoFormat.inNumber / DaoFormat.in从JimuReport 1.6.2开始官方文档明确提到IN查询需要用函数来处理逗号分隔参数。([JimuReport][3])5.1 数字 ID比如 outId7,8✅推荐写法ANDo.idIN(${DaoFormat.inNumber(${outId})})URL 继续传outId7,8${outId}会得到字符串7,8DaoFormat.inNumber(...)会把它转换成数值列表7, 8最终 SQL 变成真正的ANDo.idIN(7,8)这才是**最标准、性能最好可走索引**的方式。5.2 字符串类型比如 codeAA,BB如果是字符串字段需要带引号的那种用DaoFormat.in同一组函数体系更合适思路类似把AA,BB变成(AA,BB)。6. 备选方案继续用FIND_IN_SET能用但要知道代价如果你暂时不方便用DaoFormatFIND_IN_SET也能跑通写法建议更稳一点主动加引号避免不同版本行为差异ANDFIND_IN_SET(o.id,${outId})优点简单粗暴立刻可用。缺点大数据量时慢通常不走索引。([CSDN][2])7. 另一个容易踩的坑SQL 明明返回多行但报表只显示 1 行如果你后面又遇到“SQL 在数据库执行有多行但报表只渲染 1 行/空白行”的问题多半是数据集类型或填充方式配错了数据集返回多行 → 你要按“集合”去渲染积木报表里集合/对象在模板渲染上用法不同常见提示集合用#对象用$用错会出现空白行或只取第一条。([JimuReport][4])这个和你这次IN的问题是两条线但经常一起出现。8. 一套“遇到类似问题”的排查套路新手可照抄先确认 URL 实际传进来了没在积木报表预览页看“参数面板/查询条件”是否能看到 outId 的值。把参数替换后的 SQL 打出来看最关键你看到的LIMIT 1、IN (7,8)这类蛛丝马迹就是定位问题的关键。判断字段类型数字还是字符串数字优先DaoFormat.inNumber字符串优先DaoFormat.in实在不行再用FIND_IN_SET快速救火可以但要考虑性能。不要把 MyBatis 的foreach写进 SQL 数据集SQL 数据集不是 MyBatis XML。9. 你这个报表的最终推荐 SQL直接可用把你原 SQL 的这一段ANDo.idIN(${outId})替换为推荐ANDo.idIN(${DaoFormat.inNumber(${outId})})完整示例仅展示 WHERE 相关WHEREo.deleted0ANDi.deleted0ANDo.idIN(${DaoFormat.inNumber(${outId})})ORDERBYo.id,i.id示例截图
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

长安网站建设制作适合团购报名的网站开发

还在为日语视频的字幕制作而头疼吗?N46Whisper作为一款基于云端AI的日语语音转字幕工具,彻底革新了传统字幕制作流程。无论你是日语学习者、视频创作者还是专业字幕组成员,这款工具都能显著提升你的工作效率。 【免费下载链接】N46Whisper Wh…

张小明 2025/12/27 23:29:06 网站建设

电商网站平台建设方案wordpress 手机不显示内容

虚拟桌面伙伴完全指南:3大类型深度解析与个性化选择 【免费下载链接】BongoCat 让呆萌可爱的 Bongo Cat 陪伴你的键盘敲击与鼠标操作,每一次输入都充满趣味与活力! 项目地址: https://gitcode.com/gh_mirrors/bong/BongoCat 你是否曾经…

张小明 2025/12/27 16:53:57 网站建设

理财网站如何做推广网站搭建是哪个岗位做的事儿

在全球能源转型加速推进的背景下,分布式光伏装机容量持续攀升,但光伏逆变器的电力电子非线性特性,导致大量谐波注入电网,成为制约并网效率的核心瓶颈。传统谐波抑制方案难以应对光照波动、多机并联带来的动态谐波变化,…

张小明 2025/12/31 18:49:05 网站建设

长沙制作手机网站的公司网站备案中

PaddlePaddle生态全景图:从模型库到产业应用全覆盖 在AI技术加速渗透各行各业的今天,一个核心问题日益凸显:如何让深度学习真正“落地”?不是停留在论文和实验室里,而是稳定、高效地运行在工厂产线、快递分拣站、医院影…

张小明 2025/12/29 22:52:32 网站建设

自适应企业网站源码wordpress如何建目录

SVFI视频补帧工具:10个技巧让你的视频流畅度翻倍 【免费下载链接】Squirrel-RIFE 项目地址: https://gitcode.com/gh_mirrors/sq/Squirrel-RIFE 在视频创作日益普及的今天,你是否遇到过这样的困扰:精心拍摄的视频在播放时出现卡顿&am…

张小明 2025/12/29 23:04:40 网站建设

做棋牌网站wordpress运行平台

数据库文档终极解决方案:一键生成让团队协作更高效 【免费下载链接】db-doc 项目地址: https://gitcode.com/gh_mirrors/db/db-doc 还在为繁琐的数据库文档编写而烦恼吗?db-doc作为一款专业的数据库文档自动化工具,彻底改变了传统文档…

张小明 2025/12/29 22:51:53 网站建设