【mybatis】service层中一个方法中使用mybatis进行数据库的 多个修改操作,可能是update也可能是delete操作,但是sql语句命名执行并且在控制台打印出来了,但是数据库中未更新到数据【事务的问题】
问题描述:
service层中一个方法中使用mybatis进行数据库的 多个修改操作,可能是update也可能是delete操作,但是sql语句命名执行并且在控制台打印出来了,但是数据库中未更新到数据,
把这条执行的sql语句复制下来在数据库中直接操作是可以执行更新到的!!
分析问题:
既然sql语句的执行已经在控制台打印出来了,说明肯定是执行到了sql,那最后数据库中没有更新成最新的数据,可能有以下几个解决方法
解决方法:
1.service层的方法上并未添加@Transactional注解
2.service层的这个方法 执行到某一步一定是抛异常了
可以2.1》检查所有代码,看看哪里进行了throws,不知要看自己写的代码,还要看调用的项目中原本的方法,每一行都不要放过
2.2》断点调试,看走到哪一步出问题了
3.如果都没有问题,可以尝试在spring boot启动类添加注解@EnableTransactionManagement 以启动事务