比较有用的文档地址:
http://www.dbunit.org/faq.html#streaming
http://www.dbunit.org/properties.html#qualifiedtablenames
http://www.dbunit.org/components.html#streamingdataset
工具类
package com.chenjo.expb; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.sql.SQLException; import java.util.Iterator; import java.util.Map; import java.util.Set; import org.dbunit.DatabaseUnitException; import org.dbunit.database.DatabaseConfig; import org.dbunit.database.ForwardOnlyResultSetTableFactory; import org.dbunit.database.IDatabaseConnection; import org.dbunit.database.QueryDataSet; import org.dbunit.dataset.CachedDataSet; import org.dbunit.dataset.DataSetException; import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.stream.IDataSetProducer; import org.dbunit.dataset.stream.StreamingDataSet; import org.dbunit.dataset.xml.FlatXmlDataSet; import org.dbunit.dataset.xml.FlatXmlProducer; import org.dbunit.dataset.xml.XmlDataSet; import org.dbunit.dataset.xml.XmlProducer; import org.dbunit.operation.DatabaseOperation; import org.xml.sax.InputSource; public abstract class DBXMLHelper { // partial database export public static void exportPartial(IDatabaseConnection connection, String fileName, Set<String> tableNames, Map<String,String> sqls, boolean streamed, boolean flat) throws SQLException, DataSetException, FileNotFoundException, IOException { connection.getConfig().setFeature( DatabaseConfig.FEATURE_QUALIFIED_TABLE_NAMES, true); if (streamed) connection.getConfig().setProperty( DatabaseConfig.PROPERTY_RESULTSET_TABLE_FACTORY, new ForwardOnlyResultSetTableFactory()); QueryDataSet partialDataSet = new QueryDataSet(connection); // all data if (null != tableNames) for (Iterator<String> it = tableNames.iterator(); it.hasNext();) { partialDataSet.addTable( it.next()); } // sql query if (null != sqls) for (Iterator<String> it = sqls.keySet().iterator(); it.hasNext();) { String key = it.next(); partialDataSet.addTable(key, (String) sqls.get(key)); } if (flat) FlatXmlDataSet .write(partialDataSet, new FileOutputStream(fileName)); else XmlDataSet.write(partialDataSet, new FileOutputStream(fileName)); } // full database export public static void exportDatabase(IDatabaseConnection connection, String fileName, boolean streamed, boolean flat) throws SQLException, DatabaseUnitException, FileNotFoundException, IOException { if (streamed) connection.getConfig().setProperty( DatabaseConfig.PROPERTY_RESULTSET_TABLE_FACTORY, new ForwardOnlyResultSetTableFactory()); IDataSet fullDataSet = connection.createDataSet(); if (flat) FlatXmlDataSet.write(fullDataSet, new FileOutputStream(fileName)); else XmlDataSet.write(fullDataSet, new FileOutputStream(fileName)); } public static void refreshData(IDatabaseConnection connection, String input, boolean streamed, boolean flat) throws DatabaseUnitException, SQLException { // 把 Document 转换为DBUnit的DataSet并解决中文编码问题 // is.setEncoding("GBK"); IDataSetProducer producer; IDataSet dataSet; if (flat) producer = new FlatXmlProducer(new InputSource(input)); else producer = new XmlProducer(new InputSource(input)); if (streamed) dataSet = new StreamingDataSet(producer); else dataSet = new CachedDataSet(producer); // 执行插入操作 DatabaseOperation.REFRESH.execute(connection, dataSet); } public static void cleanInsertData(IDatabaseConnection connection, String input, boolean flat) throws DatabaseUnitException, SQLException { IDataSetProducer producer; IDataSet dataSet; if (flat) producer = new FlatXmlProducer(new InputSource(input)); else producer = new XmlProducer(new InputSource(input)); dataSet = new CachedDataSet(producer); // 执行插入操作 DatabaseOperation.CLEAN_INSERT.execute(connection, dataSet); } }转载自: http://huangxx.iteye.com/blog/133520
相关推荐
用于mvn项目中导入、导出数据库表的文件 mvn dbunit:export 导出 mvn dbunit:operation 导入
用于数据库测试的一个工具,具有很强的灵活性。也是自己在网上找的,分享一下
1。利用MySql数据库建立一个测试的数据库student: 2.建立新的java工程,例如DBUnitSample, 将DbUnit jar文件和MySql数据库驱动文件导入到工程中: 3.编写连接MySql数据库的类以及用于测试的类
示例 这是一个简单的 maven 项目,它利用从数据库中拉取和推送数据以进行测试。 使用 dbUnit,还可以将数据集验证作为测试用例的一部分来验证数据库状态。
功能列表: 清理所有数据库表完整的数据库导出为 DBunit 数据集部分数据库导出仅选择您感兴趣的表在数据库中导入一个符合数据库结构的DBunit数据集获取有关表的信息并了解尊重外键约束的正确填充顺序。 MySql 随机...
DBUnit:PHPUnit的数据库测试库
dbunit-mongodb dbunit 模块,用于基于 mongodb 的持久性的 junit 测试。 这里有一个关于使用的小教程。
DbUnit(http://dbunit.sourceforge.net/)则是专 门针对数据库测试的对JUnit的一个扩展, 它可以将测试对象数据库置于一个测试轮回之间的状态。 这个是主要jar包
java连接数据库最好的选择,可以用于,flash能过控制java来运用数据库
DBUnit - 验证动机DBUnit 是一个非常有用的库,用于编写使用关系数据库的测试。 例如,它允许在测试之前干净地插入所需的数据。 如果您想长时间使用测试,问题就会开始。 比测试应该变得更加健壮以应对变化。 通常,...
网上下载到的dbunit的jar包默认不支持excel2007及以上版本的数据表导入导出功能,因项目需要,本人对源码进行了部分修改。 目前数据库的导入导出等功能已经在excel2013版本上测试通过。 ps:个人下载资源需求较多,...
DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类...
自述文件这个 repo 是我尝试使用 Spring Test DBUnit 实现的示例。 基本上我在 src/main/java/com/springtests/model 中有三个实体节目表演者每个都有自己的 ID 字段,并与具有三列的连接表 (prog_performer) 建立多...
产品特点从生产性数据库中导出一致且参照完整的行集,并将数据导入开发和测试环境中。 通过删除和归档过时的数据而不破坏完整性来提高数据库性能。 生成按拓扑排序SQL-DML,层次结构的XML和DbUnit数据集。 数据浏览...
使用 DBUnit 和 WO 进行集成测试 这是 Movies 和 ERMoviesLogic 演示项目的多项目 gradle 端口,它演示了如何让 WO 与 dbunit 一起工作。 重要的怪癖 为 gradle 重新排序 Classpath 以便能够执行测试 test . doFirst...
lotaris-dbunit-maven-plugin 用于创建/删除域、部署应用程序和管理资源的插件。用法将以下依赖项放入您的 pom.xml < plugin>< groupId>...
使用DbUnit测试数据库.pdf
通过DBUNIT做批量对比测试
一个很好的DBUnit的例子 博文链接:https://virgoooos.iteye.com/blog/186859