springboot開啟事務很簡單,只需要一個注解@Transactional 就可以了。因為在springboot中已經默認對jpa、jdbc、mybatis開啟了事事務,引入它們依賴的時候,事物就默認開啟。當然,如果你需要用其他的orm,比如beatlsql,就需要自己配置相關的事物管理器。
以上一篇文章的代碼為例子,即springboot整合mybatis,上一篇文章是基於注解來實現mybatis的數據訪問層,這篇文章基於xml的來實現,並開啟聲明式事務。
在pom文件中引入mybatis啟動依賴:
引入mysql 依賴
通過配置mybatis.mapper-locations來指明mapper的xml文件存放位置,我是放在resources/mybatis文件下的。mybatis.type-aliases-package來指明和數據庫映射的實體的所在包。
經過以上步驟,springboot就可以通過mybatis訪問數據庫來。
接口:
mapper:
@Transactional,聲明事務,並設計一個轉賬方法,用戶1減10塊,用戶2加10塊。在用戶1減10 ,之后,拋出異常,即用戶2加10塊錢不能執行,當加注解@Transactional之后,兩個人的錢都沒有增減。當不加@Transactional,用戶1減了10,用戶2沒有增加,即沒有操作用戶2 的數據。可見@Transactional注解開啟了事物。
springboot 開啟事物很簡單,只需要加一行注解就可以了,前提你用的是jdbctemplate, jpa, mybatis,這種常見的orm。