繁体   English   中英

如何从查询中导出DBUnit结果集

[英]How to export DBUnit result set from query

有人在这里问类似的问题: 1

此代码有效:

    IDatabaseConnection connection = getConnection();
    ITableFilter filter = new DatabaseSequenceFilter(connection);
    IDataSet dataset    = new FilteredDataSet(filter, connection.createDataSet());
    FlatXmlDataSet.write(dataset, new FileOutputStream(file));

它将整个数据库转储到XML平面文件中。 好。 我们知道我的用户名/密码/驱动程序名称/连接字符串等。 现在如何修改它,以便可以提供SQL select语句并导出单个查询的结果?

我做了一些谷歌搜索,发现以下代码:

    System.out.println("begin partial");
    IDatabaseConnection connection = getConnection();

    QueryDataSet partialDataSet = new QueryDataSet(connection);
    partialDataSet.addTable("gov", "SELECT * FROM GOV_UNIT");
    partialDataSet.addTable("gov_unit");

    FlatXmlDataSet.write(partialDataSet, new FileOutputStream("partial-dataset.xml"));
    System.out.println("end   partial");

这不会像我希望的那样创建文件“ partial-dataset.xml”。 它只打印“开始部分”和“结束部分”。

有人可以帮助我使此代码正常工作吗? 我究竟做错了什么? 当然,当使它生效时,我将用与我的postgresql数据库一起使用的递归联接替换简单查询。

谢谢齐格菲

您的代码正常。 这行FlatXmlDataSet.write(partialDataSet, new FileOutputStream("partial-dataset.xml")); ,不会创建XML文件,您必须在之前手动创建它。 这就是您所需要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM