【问题标题】:Saving an IDataset that can be imported later to the database保存可以稍后导入数据库的 IDataset
【发布时间】:2019-11-12 07:37:22
【问题描述】:

有没有一种方法可以将 dbunit 数据集 (IDataset) 保存为 xml 或 csv 以外的其他文件?

我想稍后将创建的数据集导入回数据库。

我正在创建一个包含表的部分数据集:

QueryDataSet partialDataSet = new QueryDataSet(dataBaseConnection)
partialDataSet.addTable("tableName");
// save as a file
// import the file later

我尝试将数据集保存为 .xml,但如果存在对另一个表的依赖关系,则行的顺序不正确。

【问题讨论】:

    标签: java dbunit


    【解决方案1】:

    您可以使用 DBUnit 常见问题解答中所述的 DatabaseSequenceFilterFilteredDataSet

    对你来说,这可能是:

    QueryDataSet partialDataSet = new QueryDataSet(dataBaseConnection)
    partialDataSet.addTable("tableName");
    IDatabaseConnection connection = getConnection();
    //Following filter will sort tables in correct order
    ITableFilter filter = new DatabaseSequenceFilter(conn);
    IDataSet dataset = new FilteredDataSet(filter, partialDataSet);
    FlatXmlDataSet.write(dataset, new File("data-in-correct-order.xml"));
    

    这个xml以后可以正确导入到DB中。

    http://dbunit.sourceforge.net/faq.html#tableseq

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-07
      • 1970-01-01
      • 1970-01-01
      • 2019-10-18
      相关资源
      最近更新 更多