我正在尝试用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?
发布于 2012-02-02 13:51:37
因为你标记了这个' Android ',所以Android SDK有一个SQLiteDatabase类,它通常由一个helper类包装(如果你遵循指南/tuts等)。
SQLiteDatabase有beginTransaction()和endTransaction(),可以让你运行...数据库事务。endTransaction()有点像提交,但有一些注意事项。有关更多信息,请参阅documentation。
发布于 2014-11-10 20:42:35
我在我的框架中解决了这个问题,创建了一个可重用的TxHandle,支持db样式的开始、提交和回滚功能。有时,我希望处理大量数据时保证事务的安全性,所以我创建了一个事务句柄并将其传递给DAO,以便处理一大堆行,因此它隐藏了这个API -对我来说有点混乱。
但老实说,默认的用例是缺省的单行提交;ORM领域中的多行更新是个例外,因此您可能希望查看一下Dao-Implementation Tutorial,以避免摆弄行。
您可以随时逐字记录任何代码片段。
https://stackoverflow.com/questions/9107621
复制相似问题