织梦怎么做单页网站,医院门户网站模板下载,知乎类 wordpress,可信网站认证图标MyBatis where标签内嵌foreach标签查询报错’缺失右括号’或’命令未正确结束’
where标签内嵌foreach标签
截取一段脱敏xml#xff0c;写明大概意思
select idqueryLogByIds resultMapBaseResultMapSELE…MyBatis where标签内嵌foreach标签查询报错’缺失右括号’或’命令未正确结束’
where标签内嵌foreach标签
截取一段脱敏xml写明大概意思
select idqueryLogByIds resultMapBaseResultMapSELECT * FROM BP_LOGwhereif testids ! null and ids.size() 0!--在where标签内 注意在LOG_ID#{item}两侧留空格 否则会报缺失右括号(foreach被括号包围的情况下)或命令未正确结束--(foreach collectionids itemitem separatoror LOG_ID#{item} /foreach )/if/whereORDER BY LOG_ID
/select报错缺失右括号
打印sql如下
SELECT * FROM BP_LOG WHERE (LOG_ID?orLOG_ID?orLOG_ID? ) ORDER BY LOG_ID看sql是有右括号的猜测是 LOG_ID?orLOG_ID?...连在一起执行时断句失败导致报错
替换?去数据库执行一下果然是因为没有空格断句失败 总结
where标签内嵌foreach标签时注意在foreach标签内的拼接条件LOG_ID#{item}的两侧留空格。