mybatis删除不成功

zhouyusunquan 2015-09-27 04:39:43
配置文件
<delete id="deleteByids" parameterType="map" >
delete
from SYS_LOG
where LOGID in
<foreach collection="logids" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>

输出的日志
[springmvc_mybatis][DEBUG] [2015-09-27 16:33:23] org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl.debug(49) | ==> Preparing: delete from SYS_LOG where LOGID in ( ? , ? , ? , ? )
[springmvc_mybatis][DEBUG] [2015-09-27 16:33:23] org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl.debug(49) | ==> Parameters: 'L201509270008'(String), 'L201509270007'(String), 'L201509270006'(String), 'L201509270005'(String)
[springmvc_mybatis][DEBUG] [2015-09-27 16:33:23] org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl.debug(49) | <== Updates: 0


数据库查询

数据库删除
...全文
1414 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouyusunquan 2015-09-29
  • 打赏
  • 举报
回复
问题找到了,我的每个id多了个单引号 'L201509270007'(String), 'L201509270006'(String), 'L201509270005'(String) 参数应该是 L201509270007(String), L201509270006(String), L201509270005(String) 谢谢各位了
zhouyusunquan 2015-09-29
  • 打赏
  • 举报
回复
引用 7 楼 zhouyusunquan 的回复:
[quote=引用 6 楼 suciver 的回复:] [quote=引用 5 楼 zhouyusunquan 的回复:] 已经提交了,清空整个表没有问题,清空部分记录就有问题
楼主可以单独把这个mapper不带spring不要集成到项目里面用单元测试跑下,如果这个没问题的话,就说明事务要么没提交要么回滚了[/quote] 单元测试 [springmvc_mybatis][DEBUG] [2015-09-29 13:54:37] org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl.debug(49) | ==> Preparing: delete from SYS_LOG where LOGID in ( ? ) [springmvc_mybatis][DEBUG] [2015-09-29 13:54:37] org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl.debug(49) | ==> Parameters: L201509280023(String) [springmvc_mybatis][DEBUG] [2015-09-29 13:54:37] org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl.debug(49) | <== Updates: 1 [springmvc_mybatis][DEBUG] [2015-09-29 13:54:37] com.alibaba.druid.pool.PreparedStatementPool.put(123) | {conn-10001, pstmt-20001} enter cache[/quote] 完全可以删除,我用的是阿里的数据连接池,是自动提交的
zhouyusunquan 2015-09-29
  • 打赏
  • 举报
回复
引用 6 楼 suciver 的回复:
[quote=引用 5 楼 zhouyusunquan 的回复:] 已经提交了,清空整个表没有问题,清空部分记录就有问题
楼主可以单独把这个mapper不带spring不要集成到项目里面用单元测试跑下,如果这个没问题的话,就说明事务要么没提交要么回滚了[/quote] 单元测试 [springmvc_mybatis][DEBUG] [2015-09-29 13:54:37] org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl.debug(49) | ==> Preparing: delete from SYS_LOG where LOGID in ( ? ) [springmvc_mybatis][DEBUG] [2015-09-29 13:54:37] org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl.debug(49) | ==> Parameters: L201509280023(String) [springmvc_mybatis][DEBUG] [2015-09-29 13:54:37] org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl.debug(49) | <== Updates: 1 [springmvc_mybatis][DEBUG] [2015-09-29 13:54:37] com.alibaba.druid.pool.PreparedStatementPool.put(123) | {conn-10001, pstmt-20001} enter cache
suciver 2015-09-28
  • 打赏
  • 举报
回复
引用 5 楼 zhouyusunquan 的回复:
已经提交了,清空整个表没有问题,清空部分记录就有问题
楼主可以单独把这个mapper不带spring不要集成到项目里面用单元测试跑下,如果这个没问题的话,就说明事务要么没提交要么回滚了
zhouyusunquan 2015-09-28
  • 打赏
  • 举报
回复
引用 4 楼 suciver 的回复:
事务没提交,如果没有使用spring的话用原生的mybatis事务要自己提交
已经提交了,清空整个表没有问题,清空部分记录就有问题
suciver 2015-09-28
  • 打赏
  • 举报
回复
事务没提交,如果没有使用spring的话用原生的mybatis事务要自己提交
咖啡厅 2015-09-28
  • 打赏
  • 举报
回复
从日志看。你的sql只是做了准备。 而没有执行。
zhouyusunquan 2015-09-28
  • 打赏
  • 举报
回复
引用 1 楼 qq_20094071 的回复:
可能程序异常,事务回滚了。建议抛出异常看看
public int deleteByids(Map map) { try{ return this.sysLogMapper.deleteByids(map); }catch(Exception ex){ ex.printStackTrace(); return 0; } // TODO Auto-generated method stub } 但是没有异常
苏烟丶Lee 2015-09-28
  • 打赏
  • 举报
回复
可能程序异常,事务回滚了。建议抛出异常看看

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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