- 浏览: 321859 次
- 来自: ...
文章分类
最新评论
-
梦回秘蓝:
whichisnotuse 写道非也, 除非需要很执行一段代码 ...
什么情况需要 if (log.isDebugEnabled()) {} -
wupy:
一直while的话会不会太耗内存呢?
java socket 长连接 短连接 -
xy2401:
<type-mapping> <sql-t ...
hibernate tools oracle nvarchar2 被映射成Serializable -
xy2401:
xy2401 写道额,原来配置文件可以改啊。。。不过我已经生成 ...
hibernate tools oracle nvarchar2 被映射成Serializable -
郭玉成:
你好, 我已经找到原因了!
java 编译非文本形式的文件
比较有用的文档地址:
http://www.dbunit.org/faq.html#streaming
http://www.dbunit.org/properties.html#qualifiedtablenames
http://www.dbunit.org/components.html#streamingdataset
工具类
java 代码
- package dbunit;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.SQLException;
- import java.util.HashSet;
- 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.DatabaseConnection;
- 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 tableNames, Map 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 it = tableNames.iterator(); it.hasNext();) {
- partialDataSet.addTable((String) it.next());
- }
- // sql query
- if (null != sqls)
- for (Iterator it = sqls.keySet().iterator(); it.hasNext();) {
- String key = (String) 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 {
- // 把Documenth转换为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);
- }
- }
评论
7 楼
yumcn.com
2010-05-28
huangxx 写道
找到了关于外键约束的另外的解决办法使用CsvDataSetWriter来替代FlatXmlDataSet就可以避免外键约束的问题。
这么老的文章也能找到?
jim19770812 写道
找到了关于外键约束的另外的解决办法使用CsvDataSetWriter来替代FlatXmlDataSet就可以避免外键约束的问题。
这么老的文章也能找到?
huangxx 写道
找到了关于外键约束的另外的解决办法使用CsvDataSetWriter来替代FlatXmlDataSet就可以避免外键约束的问题。
这么老的文章也能找到?
jim19770812 写道
找到了关于外键约束的另外的解决办法使用CsvDataSetWriter来替代FlatXmlDataSet就可以避免外键约束的问题。
这么老的文章也能找到?
什么用CsvDataSetWriter,用依赖方式导出表数据即可。
TablesDependencyHelper.getAllDependentTables(connection, "表名");
6 楼
huangxx
2009-12-18
找到了关于外键约束的另外的解决办法使用CsvDataSetWriter来替代FlatXmlDataSet就可以避免外键约束的问题。
这么老的文章也能找到?
jim19770812 写道
找到了关于外键约束的另外的解决办法使用CsvDataSetWriter来替代FlatXmlDataSet就可以避免外键约束的问题。
这么老的文章也能找到?
5 楼
jim19770812
2009-12-18
找到了关于外键约束的另外的解决办法使用CsvDataSetWriter来替代FlatXmlDataSet就可以避免外键约束的问题。
4 楼
jim19770812
2009-12-17
可以试试先禁用外键和约束,然后导入,最后再恢复外键和约束
3 楼
huangxx
2008-04-03
呵呵,去看看它的文档吧。
2 楼
lying2
2008-01-04
在导出数据后,重新导入数据,却报出外键的异常,查看导出的xml文件发现,dbunit导出时,表的顺序是按英文字母顺序,倒入时也是,但是外键关联的表,可能在正在加载的表的后面,所以出现了问题,请教你有没有好方法?
1 楼
lying2
2008-01-04
发表评论
-
maven3的superpom换地方了
2011-06-17 16:00 1333路径是: maven-model-builder-3.0.3 ... -
eclipse 文件本地历史比较功能丢失
2010-09-07 19:01 2161如题,原来是我把该功能关闭了,在“首选项-capabiliti ... -
hibernate criteria like expression for Long
2010-05-13 18:11 1442https://forum.hibernate.org/vie ... -
java.lang.ClassFormatError: Incompatible magic value 218762506 in class file
2010-05-07 19:12 5088http://bugs.sun.com/view_bug.do ... -
maven2 install-file 不能一条命令安装jar source javadoc
2010-03-19 16:56 1945http://old.nabble.com/Help-unde ... -
maven2 eclipse hibernate test 测试类查询不到数据
2010-01-27 13:21 1840使用maven2构建的eclipse工程,写的测试类在ecli ... -
hibernate tools oracle nvarchar2 被映射成Serializable
2010-01-15 18:29 2865http://opensource.atlassian.com ... -
maven2 eclipse buildpath resources 问题
2010-01-15 09:29 2014https://docs.sonatype.org/displ ... -
spring aop方式获取方法执行时间不准
2010-01-09 17:47 1181AspectJ不管采用哪种通知方式(Before ,After ... -
Criteria + Projection + LockMode causes a NPE
2010-01-05 17:20 1055http://opensource.atlassian.com ... -
Hibernate Criteria 关联查询
2009-12-31 16:40 1854http://www.blogjava.net/hilor/a ... -
jbpm-3.3.1.GA 在tomcat/jetty配置方法
2009-08-06 16:16 1195jbpm-3.3.1.GA 在tomcat/jetty配置方法 ... -
pojo ejb web Services
2008-07-30 21:33 1048ejb to web Services http://www- ... -
Java中 static/transient,final/volatile 说明
2008-07-03 11:14 1843http://hi.baidu.com/jxliaom/blo ... -
web服务器绑定0.0.0.0 和 127.0.0.1 的区别
2008-06-15 16:47 5488发现在局域网其他人的电脑上浏览我的电脑上的提供的WEB服务的时 ... -
怎样在Eclipse中使用debug调试程序?
2008-06-06 09:45 1666参见: http://hua6884858.iteye.co ... -
什么情况需要 if (log.isDebugEnabled()) {}
2008-05-07 18:34 8702在使用log4j,common-log这样的log框架时,发现 ... -
使用 CAS 在 Tomcat 中实现单点登录 - zt
2008-04-17 14:04 2978级别: 初级 张 涛 (zzhangt@cn.ibm.com) ... -
对多核环境中多线程(JVM)与多进程(LAMP)的比较 - zt
2008-04-17 10:13 6052PHP 3之后的主要语言开发者之一、Zend公司的创始人之一A ... -
什么是ETag - zt
2008-04-01 10:11 1235使用ETags减少Web应用带宽和负载http://www.i ...
相关推荐
DBUnit是一个JUnit扩展,它提供了一种结构化的方式来导入和导出数据库数据,通常以XML或CSV格式。这使得在不同测试用例之间保持数据库状态的一致性成为可能。通过在测试前后执行特定的数据操作,我们可以确保每个...
Dbunit 的核心功能包括数据导入导出、数据清理、数据填充以及数据比较。它可以将数据库状态定义为一种“数据集”,这种数据集可以是XML、CSV或者Excel格式的文件。这使得开发人员能够方便地创建和维护测试用例的数据...
DBUnit 是一个开源的 Java 库,专门用于数据库测试,它提供了一种方式来管理和操作数据库的数据,包括数据的导入导出、备份和恢复。在本文中,我们将深入探讨如何利用 DBUnit 进行数据库的备份与恢复。 首先,我们...
用于mvn项目中导入、导出数据库表的文件 mvn dbunit:export 导出 mvn dbunit:operation 导入
与其他单元测试组件的比较,如JUnit本身,DbUnit专注于数据库的测试,提供了一套完整的框架来处理数据库数据的导入、导出和验证。这使得开发人员可以更方便地进行数据库驱动应用的测试,确保代码的正确性和数据的...
通过深入学习这些 API,开发者可以自定义数据导入导出格式,实现与特定数据库系统的兼容,或者扩展 DBUnit 的功能。同时,结合单元测试框架(如 JUnit 或 TestNG),可以编写高效且可靠的数据库测试用例。 在实际...
1. **数据导入导出**:DBUnit 支持多种格式的数据导入和导出,包括CSV、XML和Flat XML(一种简化版的XML格式)。这使得数据的准备和验证变得更加方便。 2. **操作模式**:DBUnit 提供了三种操作模式:CLEAN_INSERT...
1. **数据导入/导出**:DBUnit可以将数据从数据库导出到XML或CSV文件,也可以将这些文件中的数据导入到数据库,这在数据迁移或备份时非常有用。 2. **数据比较**:DBUnit提供了断言机制,可以比较数据库的实际状态...
1. 数据导入导出:DbUnit 支持从XML文件导入和导出数据库数据,这样可以方便地创建和恢复数据库的特定状态。XML格式的数据集提供了结构化的数据表示,方便编写和维护。 2. 数据库操作:它提供了一系列API来填充...
它提供了对数据导入、导出以及数据验证的强大支持,使得测试数据的准备和清理变得简单。DBUnit的数据格式包括XML、CSV、Flat-XML等,可以方便地加载和保存数据库状态。 H2则是一个轻量级的、完全开源的关系型数据库...
DBUnit 的核心理念是通过导入和导出数据来帮助测试数据库驱动的应用程序,确保代码在不同数据集上的行为一致性。 在进行单元测试时,通常需要在测试前后对数据库进行“清理”,以避免测试之间的相互影响。DBUnit ...
在Java应用程序的测试过程中,确保数据库状态的一致性是非常重要的,DBUnit 提供了这样的功能,它允许开发者导入和导出数据库数据,以进行精确的测试。 在使用 DBUnit 时,有几个必需的 Jar 包是必不可少的,这些 ...
1. **数据集和数据导入导出**:DBUnit支持XML、CSV和Excel等多种格式的数据集。XML数据集通常用于定义测试用例中的预期数据库状态,它包含了行和列的数据,可以用来填充数据库表。DBUnit提供了`IDataReader`接口,...
1. **DBUnit 概述**:DBUnit 提供了一套 XML 数据格式(如 FlatXML 和 IbatisXML),用于导入和导出数据库数据。它支持多种数据库,包括 Oracle、MySQL、SQL Server 等,并且与 JUnit 集成紧密,允许在测试用例执行...
1. **数据导入导出**:DbUnit 可以将 CSV、XML 或 Excel 文件中的数据导入到数据库表中,也可以将数据库中的数据导出为这些格式的文件。 2. **数据清理**:测试前,DbUnit 可以清空指定的表,确保每次测试都在一个...
在IT行业中,数据库管理和数据导入导出是至关重要的任务,特别是在使用DBUnit这样的工具时。DBUnit是一款用于数据库测试的Java库,它允许开发者在测试前后对比数据库状态,确保数据处理的正确性。然而,当遇到...
DBUnit 提供了一种简单且结构化的机制来导入和导出数据库数据,帮助开发者有效地管理和维护测试数据。 ### DBUnit 的基本概念 1. **数据集(Dataset)**: 数据集是 DBUnit 的核心概念,它代表了数据库中的一组记录...
这使得数据的导入导出非常灵活。 5. **异常处理**:DBUnit可以捕获并处理数据库操作过程中可能出现的异常,确保测试的稳定性。 6. **与测试框架集成**:DBUnit很容易与JUnit、TestNG等测试框架集成,只需几行代码...
网上下载到的dbunit的jar包默认不支持excel2007及以上版本的数据表导入导出功能,因项目需要,本人对源码进行了部分修改。 目前数据库的导入导出等功能已经在excel2013版本上测试通过。 ps:个人下载资源需求较多,...