如何从查询

时间:2015-07-29 23:50:51

标签: postgresql unit-testing dbunit

有人在此问了一个类似的问题:1

此代码有效:

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

它将整个数据库转储到XML平面文件。好。我们知道我的用户名/密码/ drivername /连接字符串等..很好。 现在我该如何修改它以便我可以提供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数据库一起使用的递归连接替换简单查询。

由于 齐格弗里德

1 个答案:

答案 0 :(得分:0)

您的代码没问题。此行FlatXmlDataSet.write(partialDataSet, new FileOutputStream("partial-dataset.xml"));不会创建XML文件,您必须先手动创建它。这就是你所需要的一切。