MyBatis是没有事务管理的,需要将事务交给Spring管理。
在service层function上加 @Transactional,表明有关数据库的DML语句,操作所需要的事务都交由Spring管理。
实际上是
connect.commit;
connect.rallback;
transaction实际是一个对象,在该对象中维护了一个connection属性。我们把这个对象叫做spring的事务对象。
当然还有其他属性,比如 isbusy. 表示该connection是否是忙碌的。
@Transactional实际上是使用动态代理模式,对目标对象在执行前、执行后增强代码。