事務爲何要做用在service層次上,不做用在dao層

一、什麼是事務數據庫

數據庫操做,要麼執行完成,要麼什麼都不作。執行過程當中出現異常,要返回執行前狀態。server

場景:網上購物
事務

1)更新用戶所訂購商品數據

2)付款記錄插入數據庫(實際不付款)異常

3)訂單信息插入dao

分析:至少共操做了3次數據庫。錯誤

若是做用在dao層上:管道

將會開啓3個事務,其中有一個環節出現錯誤,只有這一個事務會回滾,可是不影響其餘兩個操做。

若是做用在server上:

將會開啓一個事務,只要其中有一個環節出現錯誤,事務將回滾。這3次操做數據庫都無效。

說白了:每一個事務就至關於管道,要麼通,要麼不通。網上購物這三次操做數據庫,實際上是一個業務邏輯處理,因此只有一個管道。

事務

未完待續

相關文章
相關標籤/搜索