1.当使用到spring的事务时 如果业务中存在使用mq推送等之类的异步任务时,这些异步任务不能放在事务中,可能出现脏读。
2.使用Junit进行包含事务的单元测试时,需要加上@Rollback(false)注解 ,true 表示事务提交后清空数据,false表示保留数据
3.使用mybatis和mysql时,如果数据库是InnoDB,插入或者修改数据时必须加事务,事务不仅仅是为了回滚,同时也是是否需要提交的一个保证
本文探讨了在Spring框架中使用事务时遇到的问题,特别是如何处理业务流程中的异步任务以避免脏读的发生。此外还介绍了使用Junit进行单元测试时如何正确设置事务的回滚策略,以及在MyBatis和MySQL环境下如何确保数据的一致性。
1.当使用到spring的事务时 如果业务中存在使用mq推送等之类的异步任务时,这些异步任务不能放在事务中,可能出现脏读。
2.使用Junit进行包含事务的单元测试时,需要加上@Rollback(false)注解 ,true 表示事务提交后清空数据,false表示保留数据
3.使用mybatis和mysql时,如果数据库是InnoDB,插入或者修改数据时必须加事务,事务不仅仅是为了回滚,同时也是是否需要提交的一个保证
1736
1466
266

被折叠的 条评论
为什么被折叠?