mybatis mysql delete in操作只能删除第一条数据

第二空间技术实验室 2015-09-01 04:16:32
mybatis xml
<!-- 根据ID列表批量删除记录 -->
<delete id="deleteFileByIds" parameterType="java.util.List"> (其中参数类型也试过java.util.map)
DELETE FROM tbs_file WHERE fileId in
<foreach collection="list" item="fileId" index="index" open="(" close=")" separator=",">
#{fileId}
</foreach>
</delete>
mapper.java中:deleteFileByIds(List<String> fileIdList);
运行时后台打印:
==> Executing: DELETE FROM tbs_file WHERE fileId in ( ? )
==> Parameters: 58,59(String)
把sql粘出来在navicat中执行,可以全部删除(fileId是主键)

但是在应用中就只能删除58这一条记录;
就是,我传1,2,3,4,5 就只删1

实在解决不了了,已经换其他方式了,望高手有时间就看下

另对论坛比较失望,就没解决过问题。。。。分数全部就这么多了,全部奉上
...全文
2227 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
the_leaves_ 2017-12-21
  • 打赏
  • 举报
回复
PreparedStatement和Statement好像支持程度不一样,
the_leaves_ 2017-12-21
  • 打赏
  • 举报
回复
为什么只能删一条啊
the_leaves_ 2017-12-21
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
参数应该分开传
  • 打赏
  • 举报
回复
刚才一瞅看到问题了,传参传错了, 后台这样打印才是对的 ==> Executing: DELETE FROM tbs_file WHERE fileId in ( ? , ? ) ==> Parameters: 60(String), 61(String)

5,655

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧