更新時(shí)間:2024-01-25 來源:黑馬程序員 瀏覽量:
Transaction接口主要用于管理事務(wù),它是Hibernate的數(shù)據(jù)庫事務(wù)接口,且對(duì)底層的事務(wù)接口進(jìn)行了封裝。Transaction接口的實(shí)例對(duì)象是通過Session對(duì)象開啟的,其開啟方式如下所示:
tTransaction transaction=session.beginTransaction();
在Transaction接口中,提供了事務(wù)管理的常用方法,具體如下。
·commit()方法:提交相關(guān)聯(lián)的session實(shí)例。
·rollback()方法:撤銷事務(wù)操作。
·wasCommitted()方法:檢查事務(wù)是否提交。
當(dāng)應(yīng)用程序執(zhí)行完持久化操作后,需要調(diào)用commit()方法提交事務(wù),或者調(diào)用rollback()方法回滾事務(wù)(取消事務(wù)),可以通過以下代碼加以理解:
try { transaction=session.beginTrsaction(); //開啟事務(wù) session.save(user); //執(zhí)行操作 transaction.commit(); //提交事務(wù) }catch(Exception e) { transaction.rollback(); //回滾事務(wù) }finally { session.close(); //關(guān)閉資源 }
從上述代碼中可以看出,Session執(zhí)行完保存操作后,使用了Transaction接口的commit()方法進(jìn)行事務(wù)提交。只有事務(wù)執(zhí)行提交后,才能真正地將數(shù)據(jù)操作同步到數(shù)據(jù)庫中。在發(fā)生異常時(shí),需要使用rollback()方法進(jìn)行事務(wù)回滾,以避免數(shù)據(jù)發(fā)生錯(cuò)誤。
本文版權(quán)歸黑馬程序員Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:黑馬程序員Java培訓(xùn)學(xué)院
首發(fā):https://java.itheima.com