簡體   English   中英

Android上的Java中的數據庫事務

[英]Database Transactions in Java on Android

我正在嘗試翻譯Java中的Objective C的一些代碼...

[_db beginTransaction];

    Date now = [[NSDate alloc] init];
    boolean result = [_db executeUpdate:updateQuery, [self stringToDB:account.userId],
                   [self integerToDB:account.accountId],
                   [self integerToDB:account.accountType],
                   [self stringToDB:account.accountName],
                ];

    [_db commit];
    return true;

誰能告訴我如何在Java中實現BeginTransaction and Commit

自從您標記了此“ Android”以來,Android SDK就有一個SQLiteDatabase類,該類通常由幫助程序類包裝(如果您遵循那里的指南/ tuts / etc。)。

SQLiteDatabase具有beginTransaction()endTransaction() ,可讓您運行... erm,數據庫事務。 endTransaction()有點像提交,但有一些警告。 有關更多信息,請參考文檔

我在框架中解決了此問題,方法是創建一個可重用的TxHandle,以支持db樣式的begin,commit和rollback功能。 有時我想以事務安全性進行海量數據處理,所以我創建了一個事務句柄並將其傳遞給DAO,以便處理一堆行,因此它隱藏了此-我感到有些困惑-API。

但老實說,默認的用例是默認情況下具有單行提交。 ORM Universe中的多行更新是一個例外,因此,您可能需要看一下Dao-Implementation教程 ,以避免麻煩於行。

隨意逐字記錄任何代碼片段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM