[英]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.