尽管例外,DBunit仍然插入xml

时间:2016-09-01 08:05:42

标签: java xml exception dbunit continue

我试图将DBunit用于项目。 对于这个项目,我试图从XML文件中插入大量数据:

DatabaseOperation.INSERT.execute(conn, new FlatXmlDataSet(new File(file)));

问题是当我遇到异常(SQLException)时,插入操作停止并且未插入其余数据。我正在寻找一种方法来继续插入,尽管有例外,但到目前为止还没有。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我建议你这样做:

DatabaseOperation.CLEAN_INSERT.execute(conn, new FlatXmlDataSet(new File(file)));

这是因为如果您只执行DatabaseOperation.INSERT并且要插入的数据存在于DB中,则操作将失败。通过这种方式,操作首先将删除所有表记录,然后执行插入操作。

而且,在你的xml文件表中必须以插入正确的顺序来避免 完整性约束错误。

阅读xml文件:

FlatXmlDataSetBuilder flatXmlDataSetBuilder = new FlatXmlDataSetBuilder();
FileInputStream fileInputStream = new FileInputStream("XMLpath");
IDataSet iDataSet = flatXmlDataSetBuilder.build(fileInputStream);
DatabaseOperation.CLEAN_INSERT.execute(conn, iDataset);