当用java向mybatis做复合参数传递时例如 MAP中嵌套list,mybatis在对list进行遍历时可能会抛出该异常。
解决办法:
示例:
请求参数封装:
HashMap<String, Object> map = new HashMap<String, Object>();
List<String> a=new ArrayList<String>();
a.add("请求列表");
map.put("testList","请求列表");
mybatis遍历list:
<if test="testList!= null">
AND (
<![CDATA[
1 <> 1
]]>
<foreach collection="testList" index="index" item="item" open="OR" separator="OR" close="">
LOCATE(#{item,jdbcType=VARCHAR},"值1")
</foreach>
)
</if> 红色部分如果未加入,则很有可能会诱发该异常!
本文介绍使用Java向MyBatis传递复合参数如Map中嵌套List时可能遇到的异常及解决方案。通过正确配置MyBatis的foreach标签,可以有效避免异常发生。
3972

被折叠的 条评论
为什么被折叠?



