问题一:对于“框架提供事务的支持”这事,一直很容易让初学者困惑的是:事务本身是由数据库实现的,既然数据库通过“start transaction"命令开启事务,通过commit命令结束事务,那么需要用到事务的时候只要通过jdbc发送start transaction指令,然后使用commit提交事务就可以了,为什么还要弄得那么复杂?
问题二:事务这东西属于数据库的,那不就是应该有持久化框架(比如hibernate,mybatis)来解决事务管理的事吗?为什么Spring来“搅这趟浑水”??
问题一:对于“框架提供事务的支持”这事,一直很容易让初学者困惑的是:事务本身是由数据库实现的,既然数据库通过“start transaction"命令开启事务,通过commit命令结束事务,那么需要用到事务的时候只要通过jdbc发送start transaction指令,然后使用commit提交事务就可以了,为什么还要弄得那么复杂?
问题二:事务这东西属于数据库的,那不就是应该有持久化框架(比如hibernate,mybatis)来解决事务管理的事吗?为什么Spring来“搅这趟浑水”??
Spring是管理其它框架的管理者。事务要是交给数据库,数据库的代码量会加大,而且高手才能写出优秀的数据库事务,spring封装好就更简单了,直接在业务逻辑层加事务肯定要方便...肯定会越来越机械化...
1 回答2.5k 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.6k 阅读
2 回答1.3k 阅读
1 回答727 阅读✓ 已解决
1 回答1.2k 阅读
与其说Spring提供事务的支持,不如说是Spring封装了事务的操作。
在Spring中提供了统一的事务接口,我们在使用Spring事务时只需要关心业务与事务的处理流程,不再需要关心事务具体是通过什么驱动来实现的。
这就像是JDBC提供了统一接口操作不同的数据库的这种设计模式一个道理。