【问题标题】:DBunit insert xml despite exception尽管出现异常,DBunit 插入 xml
【发布时间】:2016-09-01 08:05:41
【问题描述】:

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

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

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

感谢您的帮助

【问题讨论】:

    标签: java xml exception dbunit continue


    【解决方案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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多