4

为什么 ?

我有一个很大的 Oracle 表。我想测试一些 DAO 方法。为此,我使用 dbunit。

问题

我想使用 sql 查询将现有数据库的子集提取为 dbunit 平面 xml 文件。查询示例:

Select 
      t1.field1 as field1, t1.field2 as field2, t2.field3 as field3
From 
       table1 t1
       Join table2 t2 on t1.fieldX=t2.fieldX
Where 
       t1.field6='value' and t2.field8='value2'

在这种情况下,它将提取作为查询结果的 table1 和 table2 的所有记录,然后它还会提取这些记录的所有依赖项。

我试过的

  1. 狱卒

我已经测试了 Jailer,这是一个很好的工具。问题是我只能对一个表进行查询并提取它以保持关系。我的 sql 查询有几个连接,以及使用此软件无法解决的条件。

  1. DBUnit 生成

我也尝试过直接使用 DBUnit 来生成数据集,但它需要做很多工作,因为我们不能直接从 sql 查询生成子集,只能通过在每个表上指定一系列小查询来生成。我有很多连接和条件,所以这不是一个可接受的解决方案。

问题

如何使用sql 查询作为导出的基础来生成数据库的子集(并将其导出到 dbunit 平面 xml 文件中) ?

4

1 回答 1

2

我认为您想要的可能超出了 DBUnit 的范围。

我认为最好的方法是设置一系列处理连接并通过它提取数据的视图。一旦有了视图,您就可以使用 SQL 查询来提取数据

于 2013-01-10T17:32:54.477 回答