0

我编写了一个 Java 应用程序来将文章添加到 Joomla 站点。
我正在使用 JDBC 在 Mysql 数据库上连接和运行查询。
要创建一篇文章,我需要对_contents表运行一个查询(一个插入)和对表运行 3 个查询_assets(两个更新和一个插入)。
应该在_assets表上执行的三个查询用于将项目插入“嵌套列表树”;因此,如果其中一个查询失败,嵌套列表树将中断。
我的程序正在从远程系统访问数据库(因此 Internet 连接问题或其他任何事情都会中断查询)。
我怎样才能确保所有三个查询都相互运行而不会遗漏任何一个?

谢谢

4

2 回答 2

2

我认为交易是您正在寻找的。

http://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html

于 2012-03-14T09:57:48.397 回答
1

您也可以在结合了 4 个查询的“存储过程”中使用Mysql-Transactions。这样,我认为您的更新更有可能成功(在数据库上,我认为您的 Java 方法可能会失败)。如果您打算使用其他程序/编程语言,您的更新处理将是相同的,您不必再关心了。

但是,如果您只使用一个 Java 程序,我会在 Java 端使用事务,因为对我来说 Java 比 sql 更容易(特别是如果您使用 spring 和持久性提供程序,例如 hibernate(Spring Transactionshibernate transactions) )。

于 2012-03-14T10:13:37.820 回答