【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   以启动事务