hibernate,mybatis两个orm框架默认事务都是非自动提交方式。
1.SqlSessionTemplate SqlSessionDaoSupport hibernatetemplate这几个抽象类时事务的提交和数据库的关闭都封装在里面,只需调用增,删,改的方法就可以立即更新数据库。
2.当使用springmvc+spring+hibernate/mybatis时,如果配置事务管理器的话,可由@Transactional注解service类,将事务提交和数据库关闭交由spring管理,同样只需调用增,删,改的方法就可以。
两种方式不同的是,第一种每一步操作数据库都会直接更新,第二种通过service类,当service方法执行完才会将所有的调用dao方法进行的数据库操作进行事务提交,只要有一步失败,就会全部进行回滚。