dbunit study note

2024-04-18 15:18
文章标签 note study dbunit

本文主要是介绍dbunit study note,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.准备环境

dbunit的jar包,2.3.0

配置数据库:这里用mysql5.0

 

2.一些方法

获取所有数据库中内容

Class driverClass = Class.forName("com.mysql.jdbc.Driver");
Connection jdbcConnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=GBK","root", "111111");
IDatabaseConnection databaseConnection = new DatabaseConnection(jdbcConnection);
IDataSet dataSet = databaseConnection.createDataSet();
FlatXmlDataSet.write(dataSet, new FileOutputStream("c:/test.xml"));

 获取特定表的数据

Class driverClass = Class.forName("com.mysql.jdbc.Driver");Connection jdbcConnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=GBK","root", "111111");
IDatabaseConnection databaseConnection = new DatabaseConnection(jdbcConnection);QueryDataSet queryDataSet = new QueryDataSet(databaseConnection);queryDataSet.addTable("Product", "select p.id from Product p");queryDataSet.addTable("demo");FlatXmlDataSet.write(queryDataSet, new FileOutputStream("c:/test.xml"));

 

获取特定表以及其他依赖本表的数据

		Class driverClass = Class.forName("com.mysql.jdbc.Driver");Connection jdbcConnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=GBK","root", "111111");
IDatabaseConnection databaseConnection = new DatabaseConnection(jdbcConnection);String[] depTableNames = TablesDependencyHelper.getAllDependentTables(databaseConnection, "Product");IDataSet depDataset = databaseConnection.createDataSet(depTableNames);FlatXmlDataSet.write(depDataset, new FileOutputStream("c:/demo.xml"));

 生成DTD文件

Class driverClass = Class.forName("com.mysql.jdbc.Driver");Connection jdbcConnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=GBK","root", "111111");
IDatabaseConnection databaseConnection = new DatabaseConnection(jdbcConnection);FlatDtdDataSet.write(databaseConnection.createDataSet(),new FileOutputStream("c:/test.dtd"));

 

 

和单元测试相关的:

 1.准备测试数据文件

<?xml version='1.0' encoding='UTF-8'?>
<dataset><demo ID="1" name="one" unitPrice="12.0"/>
</dataset>

 

2.继承DBTestCase来实现测试代码,DBTestCase的底层是继承了Junit的TestCase。DBTestCase依赖IDatabaseTester。

public class SampleTest extends DBTestCase
{public SampleTest(String name){super( name );System.setProperty( PropertiesBasedJdbcDatabaseTester.DBUNIT_DRIVER_CLASS, "org.hsqldb.jdbcDriver" );System.setProperty( PropertiesBasedJdbcDatabaseTester.DBUNIT_CONNECTION_URL, "jdbc:hsqldb:sample" );System.setProperty( PropertiesBasedJdbcDatabaseTester.DBUNIT_USERNAME, "sa" );System.setProperty( PropertiesBasedJdbcDatabaseTester.DBUNIT_PASSWORD, "" );// System.setProperty( PropertiesBasedJdbcDatabaseTester.DBUNIT_SCHEMA, "" );}protected IDataSet getDataSet() throws Exception{return new FlatXmlDataSet(new FileInputStream("dataset.xml"));}
}

 

3.默认情况下,是clean insert,如果要覆盖,则覆盖getSetUpOperation() 和 getTearDownOperation() 方法。

public class SampleTest extends DBTestCase
{...protected DatabaseOperation getSetUpOperation() throws Exception{return DatabaseOperation.REFRESH;}protected DatabaseOperation getTearDownOperation() throws Exception{return DatabaseOperation.NONE;}...
}

 

这篇关于dbunit study note的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/915144

相关文章

(南京观海微电子)——GH7006 Application Note

Features ⚫ Single chip solution for a WXGA α-Si type LCD display ⚫ Integrate 1200 channel source driver and timing controller ⚫ Display Resolution: ◼ 800 RGB x 480 ◼ 640 RGB x 480 ⚫ Display int

chapter06 面向对象基础 知识点Note

文章目录 前言类的设计 属性和行为对象的内存解析 (堆 栈 方法区)类的成员之一 变量(属性) field类的成员之二 方法 method对象数组方法重载 overload可变个数的形参 语法糖方法的值传递机制递归关键字package importMVC设计模式import导入面向对象特征之一 封装类的成员之三 构造器JavaBeanUML类图 前言 ` 面向对象封装 面向

Study Plan For Algorithms - Part24

1. 包含min函数的栈 定义栈的数据结构,要求在该类型中实现一个 min 函数,能够获取栈的最小元素。在该栈中,调用 min、push 以及 pop 函数的时间复杂度均为 O (1)。 方法: class MinStack:def __init__(self):self.stack = []self.min_stack = [float('inf')]def push(self, x):sel

Cmake note

cmake 指定交叉编译工具 指定install安装目录 $CC=arm-linux-uclibcgnueabi-gcc cmake -DCMAKE_INSTALL_PREFIX=./output . $make $make install 删除camke cache文件: find . -iname ‘cmake’ -not -name CMakeLists.txt -exec rm -rf

chapter01 Java语言概述 知识点Note

JavaSE JavaEE JavaME 大数据 Java基础常用技术栈 mysql JDBC SSM spring+spring mvc+mybatis Linux nacos Hadoop Flink JAVA EE 消息队列 rabbitMQ docker 数据库 redis spring boot springcloud ssh struts + spring + hiber

chapter03 流程语句 知识点Note

@TOC 分支结构if-else 和 switch-case switch(表达式){case 常量值1:语句块1;//break;case 常量值2:语句块2;//break; // ...[default:语句块n+1;break;]} switch-case 执行过程: 第1步:根据switch中表达式的值,依次匹配各个case。如果表达式的值等于某个case中的常量值,则执行对

Study Plan For Algorithms - Part21

1. 二叉树的镜像 输入一个二叉树,输出它的镜像。 方法一: class TreeNode:def __init__(self, val=0, left=None, right=None):self.val = valself.left = leftself.right = rightdef mirrorTree(root):if not root:return Nonetemp, left,

work note

1:  sum_total 是什么意思?  没有百度出来 见proce:  rptMohthCdr

Self-study Python Fish-C Note20 P64to65

类和对象 (part 3) 本节主要介绍 类和对象的多态和鸭子类型、私有变量和 __slots__(原视频P64-65)\ 多态 多态是面向对象编程的三大特征之一,另外两个是封装和继承。多态是指同一个运算符、函数或对象,在不同场景下具有不同作用效果的情况。 Python 是一门动态语言,多态本来就是 Python的一种特性。 比如: 加号:两边都是数字的时候就是执行算术运算(相加),如果两边

note-Redis实战3 核心-数据安全与性能保障

助记提要 快照持久化的作用和缺点Redis创建快照的时机AOF文件同步的三种配置AOF文件重写的方式Redis复制的配置项和控制命令Redis复制过程 5步Redis主从链确认数据写入从服务器硬盘故障处理的两步Redis事务命令 5个Redis事务的特点 3点非事务型流水线使用性能测试工具评估客户端的性能 4章 数据安全与性能保障 持久化和复制 故障恢复 事务和流水线 4.1 快照持久