今天碰到个问题,解决了很久才搞定,来记录下,希望可以帮助到大家
这是一个根据list集合的查找数据的 sql,在接收list的时候加了判断 list != ‘ ’ “”,引起了集合与Stirng类型的比较,故报
<select id="selectKeywordByNameList" resultType="com.zenr.mvc.pojo.KeyWord" parameterType="java.util.List">
SELECT count(keyword_name) counter,keyword_name keywordName
from keyword
<if test="list!=null and list.size!=''">
WHERE keyword_name in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
GROUP BY keyword_name;
</if>
</select>
第四行代码判断为' '时报错,解决方案如下
<select id="selectKeywordByNameList" resultType="com.zenr.mvc.pojo.KeyWord" parameterType="java.util.List">
SELECT count(keyword_name) counter,keyword_name keywordName
from keyword
<if test="list!=null and list.size>0">
WHERE keyword_name in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
GROUP BY keyword_name;
</if>
</select>
aa
本文记录并解决了一个在使用MyBatis进行SQL查询时出现的问题:当传入List集合作为参数时,由于错误地使用了字符串类型的比较操作而导致程序报错。通过调整条件判断逻辑,最终成功实现了正确的SQL查询。
863

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



