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


数据库查询

数据库删除
...全文
730 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
可能程序异常,事务回滚了。建议抛出异常看看
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-09-27 04:39
社区公告
暂无公告