项目地址:https://gitee.com/firewolf/open-utils/tree/master/H2
H2官网地址:http://www.h2database.com/html/main.html
一、简单介绍
- H2数据库是一个开源的关系型数据库。H2是一个嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时支持网络版和嵌入式版本,有比较好的兼容性,支持相当标准的sql标准,支持集群
- 提供JDBC、ODBC访问接口,提供了非常友好的基于web的数据库管理界面。
- 一般情况下,我们会采用H2的内存数据库做单元测试的编写。
二、使用方式
因为现在的项目多半都是springboot项目,所以我这里只讲解springboot项目中的用H2进行单元测试的使用方式,其他的大同小异。
- 引入相关依赖
这里引入的是最新的版本,我们可以根据自己的需要进行版本指定。目前最新版本是1.4.199。<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency>
这里面用的两个数据库初始化脚本文件如下:
schema.sql:
data.sqlcreate table if not exists user ( user_id int not null primary key auto_increment, user_name varchar(100), user_sex varchar(1), user_age NUMBER(3), user_id_no VARCHAR(18), user_phone_num VARCHAR(11), user_email VARCHAR(100), create_time DATETIME, modify_time DATETIME, user_status VARCHAR(1) );
INSERT INTO USER (USER_NAME, USER_SEX, USER_AGE, USER_ID_NO, USER_PHONE_NUM, USER_EMAIL, CREATE_TIME, MODIFY_TIME, USER_STATUS) VALUES ('赵一', '0', 20, '142323198610051234', '12345678910', 'qe259@163.com', sysdate, sysdate, '0'); INSERT INTO USER (USER_NAME, USER_SEX,