1.Maven引入包
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</version>
</dependency>

2.在项目的src/main/resources目录下创建一个名为schema.sql的文件,则该文件将会自动被执行。schema.sql文件中定义的所有SQL语句都将被执行,并将在H2数据库中创建对应的表和其他对象。

SET MODE Oracle;

CREATE SCHEMA "CLIENT";
CREATE TABLE "CLIENT"."USER_INFO"
( "ID" NUMBER(10) NOT NULL,
"USER" VARCHAR2(10) NOT NULL,
"ADDRESS" VARCHAR2(100) NOT NULL,
CONSTRAINT "PK_USER_INFO" PRIMARY KEY("ID")
); CREATE SCHEMA "API";
CREATE TABLE "API"."PROCESS"
( "ID" NUMBER(10) NOT NULL,
"PROCESS" VARCHAR2(10) NOT NULL,
CONSTRAINT "PK_PROCESS" PRIMARY KEY("ID"),
CONSTRAINT "FK_PROCESS" FOREIGN KEY("PROCESS")
);

注意:自动执行schema.sql文件的功能是由Spring Boot自动配置提供的。如果使用的是纯粹的Maven项目,而非Spring Boot项目,则需要手动编写代码来读取并执行schema.sql文件中的SQL语句。

3. 如果需要在测试过程中预先插入一些测试数据,也可以在src/main/resources目录下添加一个名为data.sql的文件。

data.sql文件中定义的所有SQL语句也将在测试启动时被自动执行,以插入一些测试数据到H2数据库中。

INSERT INTO CLIENT.USER_INFO VALUES ("1","Eileen","xxxx");
INSERT INTO CLIENT.USER_INFO VALUES ("2","Joey","xxxx"); INSERT INTO API.PROCESS VALUES ("1","haha");

注意:data.sql文件会在schema.sql文件之后被执行,以确保表和其他对象已经被正确地创建。

4. 创建配置文件application.yml 配置数据库连接

spring:
datasource:
url: jdbc:h2:mem:mydb
username: sa
password: passeord
driverClassName: org.h2.Driver
jpa:
database-platform: org.hibernate.dialect.Oracle12cDialect
h2:
console.enabled: true

5. 启动Spring Boot项目,启动成功后,访问http://localhost:8080/h2-console

可以看到内存数据库界面及所建的数据库表

Unit Test下使用H2内存数据库的更多相关文章

  1. H2内存数据库 支持存储到文件

     准备工作 1.下载JDK(本人下载的版本号为JDK1.7).环境变量设置JAVA_HOME.设置PATH(%JAVA_HOME%\bin%). 2.下载并解压:h2-2014-07-13.zip ...

  2. H2内存数据库支持存储到文件

    准备工作 1.下载JDK(本人下载的版本为JDK1.7).设置环境变量JAVA_HOME,设置PATH(%JAVA_HOME%\bin%). 2.下载并解压:h2-2014-07-13.zip 官网下 ...

  3. 在Spring Boot使用H2内存数据库

    文章目录 添加依赖配置 数据库配置 添加初始数据 访问H2数据库 在Spring Boot使用H2内存数据库 在之前的文章中我们有提到在Spring Boot中使用H2内存数据库方便开发和测试.本文我 ...

  4. 2018-08-20 中文代码之Spring Boot集成H2内存数据库

    续前文: 中文代码之Spring Boot添加基本日志, 源码库地址相同. 鉴于此项目中的数据总量不大(即使万条词条也在1MB之内), 当前选择轻量级而且配置简单易于部署的H2内存数据库比较合理. 此 ...

  5. 中文代码之Spring Boot集成H2内存数据库

    续前文: 中文代码之Spring Boot添加基本日志, 源码库地址相同. 鉴于此项目中的数据总量不大(即使万条词条也在1MB之内), 当前选择轻量级而且配置简单易于部署的H2内存数据库比较合理. 此 ...

  6. springboot整合H2内存数据库,实现单元测试与数据库无关性

    一.新建spring boot工程 新建工程的时候,需要加入JPA,H2依赖 二.工程结构   pom文件依赖如下: <?xml version="1.0" encoding ...

  7. ubuntu下安装h2数据库

    1.下载h2数据库安装包 http://www.h2database.com/html/download.html 2.解压安装文件包到指定目录 3.运行sh文件 4.访问web地址: http:// ...

  8. IDEA中便捷内存数据库H2的最简使用方式

    在IDEA中有时候为了练习,需要使用到数据库,但如果自己工作或开发机子上本来没有安装数据库,也没有可用的远程数据库时,我们可以直接在IDEA环境上使用便捷式的内存数据库H2,关于H2更多知识就自己去找 ...

  9. 内存数据库-H2简介与实践

    一.H2数据库介绍 H2数据库地址:http://www.h2database.com/html/main.html H2是一个开源的嵌入式(非嵌入式设备)数据库引擎,它是一个用Java开发的类库,可 ...

  10. H2 database的使用

    H2最完整的资料下载地址: http://download.csdn.net/detail/yixiaoping/5956595       H2数据库使用   H2数据库介绍 常用的开源数据库:H2 ...

随机推荐

  1. (四)用go实现红黑树

    本篇文章我们用go来实现红黑树,部分参考资料如下: https://www.cnblogs.com/skywang12345/p/3245399.html#!comments https://blog ...

  2. (1127)arm 架构, c++模板

    (1)ARM M0 (2)c++形参

  3. Docker CLI docker attach 常用命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...

  4. Mysql的性能优化方案

    MySQL的性能优化主要分为以下四个方面 设计: 存储引擎.字段类型.范式与逆范式 功能: 索引.缓存.分库分表.数据库连接池 架构上: 读写分离.集群.均衡负载 合理的SQL: 测试.优化查询语句. ...

  5. [Nginx]status:203 Failed to start The NGINX HTTP and reverse proxy server

    怎么感觉Linux的nGinx比Win的事一个一个一个的多啊(半恼) 运行systemctl status nginx时提示: ① Process: 123456 ExecStartPre=/usr/ ...

  6. C# const, readonly, static readonly

    转: Const 定义的是静态常在对象初始化的时候赋值.以后不能改变它的值.属于编译时常量.不能用new初始化. Readonly 是只读变量.属于运行时变量.可以在类constructor里改变它的 ...

  7. 使用shell定时执行脚本

    yum install crontabs //安装 #检查安装crontab -V #服务操作service crond start //启动服务service crond stop //关闭服务se ...

  8. 如何通过使用vscode工具学习ts(typescript)

    1 如果有vscode工具可自行忽略这条:如果没有vscode工具,可进入官网http://vscode.p2hp.com/进行下载,下载过程可自行百度. 2 D盘新建文件夹随意命名为TS-LEAN, ...

  9. 【git】2.5远程仓库的使用

    资料来源 (1) https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93% ...

  10. Android Custom View使用Databinding

    Android Custom View是可以使用 databinding 的 //java.lang.IllegalArgumentException: View is not a binding l ...