我正在尝试将 DBunit 用于项目。 对于这个项目,我尝试使用以下命令从 XML 文件插入大量数据:
DatabaseOperation.INSERT.execute(conn, new FlatXmlDataSet(new File(file)));
问题是当我遇到异常 (SQLException) 时,插入操作会停止,并且不会插入其余数据。我正在寻找一种尽管出现异常但仍可以继续插入的方法,但到目前为止还没有任何结果。
感谢您的帮助
最佳答案
我建议你这样做:
DatabaseOperation.CLEAN_INSERT.execute(conn, new FlatXmlDataSet(new File(file)));
这是因为如果您只执行 DatabaseOperation.INSERT 并且要插入的数据存在于数据库中,则操作将失败。这样操作会先删除所有表记录,然后再进行插入。
此外,在您的 xml 文件中,表必须按正确的顺序插入,以避免 完整性约束错误。
读取 xml 文件:
FlatXmlDataSetBuilder flatXmlDataSetBuilder = new FlatXmlDataSetBuilder();
FileInputStream fileInputStream = new FileInputStream("XMLpath");
IDataSet iDataSet = flatXmlDataSetBuilder.build(fileInputStream);
DatabaseOperation.CLEAN_INSERT.execute(conn, iDataset);
关于java - 尽管异常,DBunit 仍插入 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39266010/