gpt4 book ai didi

java - mybatis使用动态sql foreach

转载 作者:行者123 更新时间:2023-11-30 03:53:51 25 4
gpt4 key购买 nike

如何在mybatis映射器中使用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>

我有方法接口(interface)

List<SimpleObject> findObjectsWithIds(List<String> ids);

我已经实现了接口(interface)

@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();
}
}

当我尝试运行时 - 我收到此错误

enter image description here

如何正确使用foreach

最佳答案

问题已解决。

我添加了注释param

List<SimpleObject> findObjectsWithIds(@Param("list") List<Integer> ids);

而且我还发送了索引的String表示,而不是Integer

关于java - mybatis使用动态sql foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23753430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com