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
可以看到内存数据库界面及所建的数据库表
标签:H2,数据库,h2,PROCESS,USER,sql,Test,Unit,schema From: https://www.cnblogs.com/xin-xing/p/17168760.html