Spring Boot 与DBunit 配合使用方法

本文介绍了Spring Boot 与DBunit 配合使用方法,分享给大家,具体如下:

DBUnit

快速上手

Springboot 添加 DBunit 依赖

// https://mvnrepository.com/artifact/org.dbunit/dbunit
testCompile group: 'org.dbunit', name: 'dbunit', version: '2.5.4'

编写Test.java

import org.dbunit.DBTestCase;
import org.dbunit.DatabaseUnitException;
import org.dbunit.database.DatabaseConnection;
import org.dbunit.database.IDatabaseConnection;
import org.dbunit.database.QueryDataSet;
import org.dbunit.dataset.DataSetException;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSetBuilder;
import org.dbunit.operation.DatabaseOperation;

@RunWith(SpringRunner.class)
@SpringBootTest
public class DBunit extends DBTestCase {

  @Resource
  DataSource dataSource;
  IDatabaseConnection iDatabaseConnection;

  @Override
  protected IDataSet getDataSet() throws Exception {
    return iDatabaseConnection.createDataSet();
  }

  @Before
  public void before() throws Exception{
      iDatabaseConnection = new DatabaseConnection(dataSource.getConnection());

  }
}

将数据库数据转换为FlatXml

  @Test
  public void testPartialExport() throws DataSetException, IOException {
    QueryDataSet queryDataSet = new QueryDataSet(iDatabaseConnection);
    queryDataSet.addTable("user", "select * from user");
    FlatXmlDataSet.write(queryDataSet, new FileOutputStream("user.xml"));
  }

执行后,将会得到一个user.xml文件,里面记录了数据库user表的所有数据,看起来大概是这个样子

<?xml version='1.0' encoding='UTF-8'?>
<dataset>
 <user id="1" username="mechanists" password="ABA3FC1EB2997E318E43CA099AE175CA"/>
 <user id="2" username="reporter" password="ABA3FC1EB2997E318E43CA099AE175CA" />

</dataset>

IDataSet

官网文档地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Spring Boot 静态资源处理方式

    Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性. 建议大家使用Spring Boot的默认配置方式,如果需要特殊处理的再通过配置进行修改. 如果想要自己完全控制WebMVC,就需要在@Configuration注解的配置类上增加@EnableWebMvc(@SpringBootApplication 注解的程序入口类已经包含@Configuration),增加该注解以后WebMvcAutoConfiguration中配

  • spring boot配置读写分离的完整实现步骤

    前言 开发中常用到主从数据库来提高系统的性能.怎么样才能方便的实现主从读写分离呢?近日工作任务较轻,有空学习学习技术,遂来研究如果实现读写分离.这里用博客记录下过程,一方面可备日后查看,同时也能分享给大家(网上的资料真的大都是抄来抄去,,还不带格式的,看的真心难受). 下面话不多说了,来一起看看详细的介绍吧. 1.背景 一个项目中数据库最基础同时也是最主流的是单机数据库,读写都在一个库中.当用户逐渐增多,单机数据库无法满足性能要求时,就会进行读写分离改造(适用于读多写少),写操作一个库,读操作多

  • Spring boot Mybatis 整合(完整版)

    本项目使用的环境: 开发工具: Intellij IDEA 2017.1.3 springboot: 1.5.6 jdk:1.8.0_161 maven:3.3.9 额外功能 PageHelper 分页插件 mybatis generator 自动生成代码插件 步骤: 1.创建一个springboot项目: 2.创建项目的文件结构以及jdk的版本 3.选择项目所需要的依赖 然后点击finish 5.看一下文件的结构: 6.查看一下pom.xml: <?xml version="1.0&qu

  • SpringBoot+layui实现文件上传功能

    什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适). 页面代码(只需要引入基础layui的css与js) <fieldset c

  • springboot在服务器上的几种启动方式(小结)

    一.使用内置的tomcat,通过java -jar的方式启动 比如:java -jar bms.jar 但是这种启动方式 一旦关闭控制台 或者crtl+c 退出 此时应用就关闭了 所以我们需要换种方式 springboot中的maven插件,提供了一种很方便的类似于shell的开启.关闭.重启服务的操作.而且这种启动方式是让项目在后台运行的,关闭shell也不会使项目停止运行 1.首先,项目的pom添加下面的插件,然后maven install <build> <plugins>

  • 详解SpringBoot程序启动时执行初始化代码

    因项目集成了Redis缓存部分数据,需要在程序启动时将数据加载到Redis中,即初始化数据到Redis. 在SpringBoot项目下,即在容器初始化完毕后执行我们自己的初始化代码. 第一步:创建实现ApplicationListener接口的类 package com.stone; import com.stone.service.IPermissionService; import org.springframework.context.ApplicationListener; import

  • Spring boot 配置多个redis的方法示例

    Spring Data提供其他项目,用来帮你使用各种各样的NoSQL技术,包括MongoDB, Neo4J, Elasticsearch, Solr, Redis,Gemfire, Couchbase和Cassandra.Spring Boot为Redis, MongoDB, Elasticsearch, Solr和Gemfire提供自动配置.你可以充分利用其他项目,但你需要自己配置它们. 单个 RedisTemplate 的配置 使用 spring-boot-starter-data-redi

  • Spring boot 和Vue开发中CORS跨域问题解决

    跨域资源共享CORS(Cross-origin Resource Sharing),是W3C的一个标准,允许浏览器向跨源的服务器发起XMLHttpRequest请求,克服ajax请求只能同源使用的限制.关于CORS的详细解读,可参考阮一峰大神的博客:跨域资源共享CORS详解. 1. 遇到的问题: 我用spring-boot 做Rest服务,Vue做前端框架,用了element-admin-ui这个框架做后台管理.在调试的过程中遇到了如下错误: Preflight response is not

  • Spring Boot和Hazelcast使用详解

    你是否遇到过应用程序性能下降的问题?有没有想过提升Spring性能?如果是这样 - 那么这篇文章绝对适合你.在这里,我们将谈论使用超级强大和领先的内存数据网格提高应用程序的性能! 什么是Hazelcast? Hazelcast是一个内存分布式计算平台,用于管理数据并并行执行执行应用程序. 1. 它是用Java编写的. 2. 与其他一些内存数据库(如redis)不同,Hazelcast是多线程的,这意味着可从所有可用的CPU内核中受益. 3. 与其他内存数据网格不同 - 它设计用于分布式环境.它支

  • 浅谈Spring boot cache使用和原理

    缓存要解决的问题:一个程序的瓶颈在于数据库,我们也知道内存的速度是大大快于硬盘的速度的.当我们需要重复地获取相同的数据的时候,我们一次又一次的请求数据库或者远程服务,导致大量的时间耗费在数据库查询或者远程方法调用上,导致程序性能的恶化,这便是数据缓存要解决的问题. 类似的缓存技术有:Redis.EhCache.Guava等,现在一般常用的为Redis. Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如EHCa

  • springboot使用单元测试实战

    前言 springboot提供了 spirng-boot-starter-test 以供开发者使用单元测试,在引入 spring-boot-starter-test 依赖后: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope>

随机推荐