如何在java中使这个工作

时间:2011-08-16 21:32:38

标签: java sql

我创建了一个读取文本文件并将其存储在数据库中的java应用程序。数据库有2个表因此为了存储文本的值,我按此顺序创建了两个预处理语句

  • 用于在表1中存储数据的代码
  • 用于在表2中存储数据的代码

这完美无缺。但是,当第二个表中存在语义错误时,第一个表中的数据仍然存储,这不是我想要的。

在一个坚果shell中,如果第二个表中有任何语义错误,我不希望在数据库中存储任何内容。那我该怎么办呢?

4 个答案:

答案 0 :(得分:3)

它可能取决于您的数据库,但您应该使用事务,捕获任何异常并在数据不良的情况下回滚事务。

This link might help you

答案 1 :(得分:2)

您想要的是数据库中的事务,如果第二个插件出现问题,您可以回滚第一个插件。

您没有指定您正在使用哪种数据库连接技术,而是尝试查看其文档中的“交易”支持。

答案 2 :(得分:1)

您需要使用交易。将连接上的autocommit设置为false,执行2个语句。如果有异常,则捕获此并回滚事务,否则提交。感谢

答案 3 :(得分:0)

在将输入写入数据库之前验证输入。