[英]mybatis using dynamic sql foreach
如何在Mybatis Mapper中使用foreach
? 我的意思是我應該在那里發送什么參數?
例如,我有此選擇語句
<select id="findObjectsWithIds" resultMap="SimpleObjectResult">
SELECT * FROM testschema."XSimpleTable"
WHERE ID in
<foreach item="item" index="index" collection="list"
open="(" separator="," close=")">
#{item}
</foreach>
</select>
我有方法的接口
List<SimpleObject> findObjectsWithIds(List<String> ids);
我已經實現了該接口
@Override
public List<SimpleObject> findObjectsWithIds(List<String> ids) {
SqlSession sqlSession = MyBatisSqlSessionFactory.openSession();
try {
SimpleMapper simpleMapper = sqlSession.getMapper(SimpleMapper.class);
return simpleMapper.findObjectsWithIds(ids);
} finally {
sqlSession.close();
}
}
當我嘗試運行時-我遇到了這個錯誤
如何正確使用foreach
?
問題已經解決了。
我添加了注釋param
List<SimpleObject> findObjectsWithIds(@Param("list") List<Integer> ids);
我還發送了索引的String
表示形式,而不是Integer
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.