日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Speedment 3.0.17及更高版本简化了事务

發(fā)布時(shí)間:2023/12/3 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Speedment 3.0.17及更高版本简化了事务 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

交易次數(shù)

有時(shí)我們想確保我們的數(shù)據(jù)庫操作是原子執(zhí)行的,并且與其他操作分開。 這是交易起作用的地方。 交易是一組操作

數(shù)據(jù)庫可能接受或不接受作為原子操作的建議。 因此,要么接受交易中的所有操作,要么不接受交易中的所有操作。 事務(wù)的另一個(gè)優(yōu)點(diǎn)是,在事務(wù)開始時(shí),數(shù)據(jù)庫的狀態(tài)將在本地“凍結(jié)”,因此在事務(wù)中我們不會看到其他線程的更新。

Speedment是一個(gè)開源的Stream ORM Java工具包和Runtime Java工具,它將現(xiàn)有數(shù)據(jù)庫及其表包裝到Java 8流中。 Speedment的更高版本以易于使用的方式支持?jǐn)?shù)據(jù)庫事務(wù)。

更新

想象一下,我們正在編寫一個(gè)帶有帳戶的銀行應(yīng)用程序,然后將100美元從一個(gè)帳戶(1)轉(zhuǎn)移到另一個(gè)(2)。 在這種情況下,重要的是錢不要消失(即從1中扣除,但從未存入2),甚至更糟的是,將重復(fù)(即,以2存入但未從1扣除)。 可以使用以下Speedment數(shù)據(jù)庫事務(wù)來確保這一點(diǎn):

txHandler.createAndAccept(tx ->Account sender = accounts.stream().filter(Account.ID.equal(1)).findAny().get();Account receiver = accounts.stream().filter(Account.ID.equal(2)).findAny().get();accounts.update(sender.setBalance(sender.getBalance() - 100));accounts.update(receiver.setBalance(receiver.getBalance() + 100));tx.commit(); }

當(dāng)方法
調(diào)用tx.commit() ,這兩個(gè)更新將自動(dòng)提交給數(shù)據(jù)庫,并且對所有其他線程可見。 如果我們沒有顯式調(diào)用tx.commit()則事務(wù)將自動(dòng)回滾(即,更新將不起作用,將被丟棄)。

準(zhǔn)備工作

在使用事務(wù)之前,我們需要獲得一個(gè)TransactionHandler如下所示:

BankApplication app = ....TransactionComponent transactionComponent = app.getOrThrow(TransactionComponent.class);TransactionHandler txHandler = transactionComponent.createTransactionHandler();


可以從應(yīng)用程序中檢索AccountManager ,如下所示:

AccountManager accounts = app.getOrThrow(AccountManager.class);

下一步是什么?

在此處閱讀有關(guān)Speedment交易的更多信息 。

訪問GitHub并在此處閱讀有關(guān)Speedment開源的所有信息。

翻譯自: https://www.javacodegeeks.com/2017/11/transactions-made-simple-using-speedment-3-0-17.html

總結(jié)

以上是生活随笔為你收集整理的使用Speedment 3.0.17及更高版本简化了事务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。