事務

一、什麼是事務:數據庫

事務(Transaction)是訪問並可能更新數據庫中各類數據項的一個程序執行單元(unit),也就是能夠簡單理解爲對數據庫的操做服務器

二、事務爲何放在Service中,而不是Dao中???微信

若是你問這個問題,那麼你就對於三層的理解的不夠好。事務

Controller:負責界面相關邏輯同步

Service:負責具體的處理邏輯(邏輯中可能有多個操做,簡單說調用多個Dao)it

Dao:負責對數據庫的操做,可是通常都是一個方法一個操做io

由上你能夠看出,爲何放在Service中,由於當你一個Service方法中通常都是多種處理邏輯,可是這些處理邏輯應該是同步的,當你其中一個操做失敗的時候,那麼該方法中的全部處理邏輯都失敗(回滾)。程序

eg:好比我在微信中,我除了要對每次的操做同步到數據庫以外,還須要把數據同步到微信服務器上。當你其中某個處理邏輯失敗,那麼就整個方法都失敗,不會同步到數據庫,會回滾。方法

相關文章
相關標籤/搜索