一个方法上面加上Transactional的注解,当我们去执行这个方法时,会开启事务,如果这个方法出现异常的话,会回滚事务,如果没有出现异常的话,会提交事务。
其内部原理是:首先创建一个数据库连接,并把这个数据库连接的自动提交的属性设置为false ,然后再去执行方法,去执行方法中的sql,执行完一个sql不会提交,直到把整个方法都执行完了之后,再看这个方法有没有抛异常,如果没有抛出异常之后,就提交这个连接上面的所有sql。反之就进行回滚的操作。
京公网安备 11010502049817号