繁体   English   中英

如何使用 <foreach> Mybatis中正确声明

[英]How to use the <foreach> statement correctly in Mybatis

当我使用statemant时,总会有问题,

Parameter 'item' not found.

这是我的sql statemant:

<select id="getTest" resultType="java.util.HashMap" parameterType="java.util.List">
    <![CDATA[
          SELECT COUNT(*) AS commentCount, WORK_ID AS workId FROM TB_COMMENT WHERE TB_COMMENT.WORK_ID IN
          <foreach item="item" collection="list" separator="," open="(" close=")" index="">
              #{item}
          </foreach>
         GROUP BY TB_COMMENT.WORK_ID
    ]]>
</select>

这是我的java statemant:

@MapKey("workId")
public Map<Integer, String> getTest(List<Integer> workIds)throws DataAccessException;

工具:

@Resource
private StatusMapper statusMapper;
List<Integer> list = new ArrayList<>();
for (WorkModel i : pictures)
     if(!TextUtils.isEmpty(i.getUserId()))
         list.add(Integer.parseInt(i.getUserId()));
Map<Integer,String> tset = statusMapper.getTest(list);

任何帮助都是希望的,谢谢。

好的,似乎在中,动态sql无法解析,并且我将其删除了,它可以工作。 感谢在这里度过的人们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM