see also at
http://dbunit.sourceforge.net/faq.html#extractHow to extract a flat XML dataset from my database? The following sample demonstrates how you can export one or many tables from a database to an flat XML dataset file.
public class DatabaseExportSample { public static void main(String[] args) throws Exception { // database connection Class driverClass = Class.forName("org.hsqldb.jdbcDriver"); Connection jdbcConnection = DriverManager.getConnection( "jdbc:hsqldb:sample", "sa", ""); IDatabaseConnection connection = new DatabaseConnection(jdbcConnection); // partial database export QueryDataSet partialDataSet = new QueryDataSet(connection); partialDataSet.addTable("FOO", "SELECT * FROM TABLE WHERE COL='VALUE'"); partialDataSet.addTable("BAR"); FlatXmlDataSet.write(partialDataSet, new FileOutputStream("partial.xml")); // full database export IDataSet fullDataSet = connection.createDataSet(); FlatXmlDataSet.write(fullDataSet, new FileOutputStream("full.xml")); // dependent tables database export: export table X and all tables that // have a PK which is a FK on X, in the right order for insertion String[] depTableNames = TablesDependencyHelper.getAllDependentTables( connection, "X" ); IDataSet depDataset = connection.createDataSet( depTableNames ); FlatXmlDataSet.write(depDataSet, new FileOutputStream("dependents.xml")); } }
分享到:
相关推荐
我们可以看到 student_mysql.sql(可能是 SQL 导出的数据库备份),以及几种不同类型的 XML 文件(student_nonflat.xml、student_exp.xml、student_flat.xml、student_pre.xml),这些都是 DBUnit 可能使用的数据源...
数据集是 DBUnit 的基础,它通常是一个 XML 文件或者 CSV 文件,描述了测试用例中的预期数据库状态。这些文件包含了表的行和列,模拟了数据库中的数据。操作模式则定义了如何将数据集加载到数据库,比如 `CLEAN_...
dbUnit is a JUnit extension targeted for database-driven projects that, among other things, puts your database into a known state between test runs. Last Updated: 2015-09-07
数据库提取器使用 DbUnit 编写 Junit 测试时,您可能希望将数据从数据库导出到 xml 文件,反之亦然。 该工具将帮助您完成这项工作。 它为您提供以下功能: 将数据库转换为 xml 文件(完整和部分) 将 xml 文件插入回...
- `DatabaseConfig` 类:配置 DBUnit 的行为,如空值处理、数据类型映射等。 - `ITable` 和 `ITableComparator` 接口:用于比较数据库表的实际数据和期望数据。 - `Operation` 接口和其实现类:如 `CleanInsert`、`...
使用DBUnit时,开发者通常会定义数据集(通常在`dataset.xml`文件中),然后在测试类中引用这些数据集。DBUnit通过JUnit注解(如`@Before`和`@After`)来触发数据的导入和导出。 例如,以下是一个简单的DBUnit测试...
DBUnit通过引入数据集(Dataset)的概念,解决了这个问题。数据集是XML或CSV格式的文件,包含了数据库表的预定义状态,可以在测试开始前加载到数据库中,测试结束后再清理掉,这样就保证了每个测试用例都在一个干净...
import org.dbunit.dataset.xml.FlatXmlDataSet; import org.junit.*; import javax.sql.DataSource; public class DBUnitTest { private IDatabaseConnection connection; private IDataSet expectedDataSet; ...
`dbunit` 提供了一种名为“数据集”的概念,数据集是一个XML或Flat File格式的文件,包含了数据库表的期望状态。在测试开始时,`dbunit` 可以根据数据集将数据库恢复到已知状态,测试结束后,还可以清空或恢复数据,...
DBUnit的数据格式包括XML、CSV、Flat-XML等,可以方便地加载和保存数据库状态。 H2则是一个轻量级的、完全开源的关系型数据库管理系统,它可以在内存中运行,特别适合于单元测试和开发环境。由于H2的快速启动和关闭...
1. **数据导入导出**:DbUnit 可以将 CSV、XML 或 Excel 文件中的数据导入到数据库表中,也可以将数据库中的数据导出为这些格式的文件。 2. **数据清理**:测试前,DbUnit 可以清空指定的表,确保每次测试都在一个...
在测试前,使用DbUnit的DatabaseConfig和DataSet来加载XML或CSV格式的测试数据到数据库。典型的流程包括:连接数据库、初始化数据库状态、执行测试方法、并在测试后清理数据库状态。DbUnit的Clean和Insert模式可以...
DbUnit提供了一些实现来处理不同格式的数据集,如 `FlatXmlDataSet`,它可以读写扁平化的XML数据集,其中每个XML元素对应一个表行,元素名称对应表名,XML属性对应列名。另一个实现是 `DatabaseDataSetAdapter`,它...
1. **数据导入导出**:DBUnit 支持多种格式的数据导入和导出,包括CSV、XML和Flat XML(一种简化版的XML格式)。这使得数据的准备和验证变得更加方便。 2. **操作模式**:DBUnit 提供了三种操作模式:CLEAN_INSERT...
2. **数据集(Dataset)**:在 DBUnit 中,数据集定义了测试用例所需的数据库状态。它们通常以 XML 文件形式存在,包含了插入数据库的行和列数据。例如,`dbunitDemo` 可能包含一个或多个 XML 文件,用于表示测试...
首先,让我们了解扁平XML(Flat XML)格式。这种格式的XML文件通常用于存储表格数据,其中每一行数据对应XML文件的一个元素,而列值则作为该元素的属性。例如,假设我们有一个学生表,它可能看起来像这样: ```xml ...
DBUnit通过使用XML或Flat CSV格式的数据集来管理这些操作,使得数据库状态的管理变得标准化且可重复。 ### 主要功能 1. **数据导入/导出**:DBUnit可以将数据从数据库导出到XML或CSV文件,也可以将这些文件中的...
文件格式遵循Dbunit的约定,比如`<dataset>`标签内的`<table>`标签表示表,`<row>`标签表示行,`<column>`标签表示列的值。 假设有一个名为`users.xml`的数据集文件,内容如下: ```xml <?xml version="1.0" ...
1. 数据集(Dataset):数据集是 DBUnit 的核心,它定义了数据库的预期状态。数据集可以是 XML、CSV 或 Excel 文件,也可以是内存中的对象。数据集包含了插入数据库的行和列,用于初始化或清理测试环境。 2. 模式...