标签:事务 管理器 回滚 开发 csdn 提交 sql Java
代码来自https://blog.csdn.net/weixin_42950079/article/details/99674292
可以看出jdbc的一个事务有这么几个步骤:1.关闭sql自动提交;2.提交sql;3.提交事务,抛出异常回滚
Spring的@Transactional本质是做一个切面把上面这些事除了sql语句部分干了,然后开发只需要写sql代码即可
Spring事务管理器底层参见https://blog.csdn.net/cccmercy/article/details/81584826
对于分布式事务,也可以自己写一个注解实现AOP:
1.接收需要组合在一起的数据源对应的事务管理器id
2.在执行业务方法之前,通过这些事务管理器,手动开启事务
3.执行业务方法
4.业务方法执行完毕之后,再使用这些事务管理器,手动提交事务
5.如果业务方法抛出异常:判断是否不需要回滚事务,如果不需要回滚,则提交事务;否则回滚
事实上,这也就是为什么分布式事务会有额外的中间件
标签:事务,管理器,回滚,开发,csdn,提交,sql,Java 来源: https://www.cnblogs.com/cd4everyoung/p/15754818.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。