1. 为什么使用内存数据库
不论你的持久层是使用了JDBC还是Hibernate或者Mybatis,你如何确保你的SQL语句是正确的,是不是符合你的预期。有的小伙伴说,我连上一个测试数据库测一下。很抱歉,不行。原因如下:
(1) 每次修改了代码,测试需要重复进行。我们可是程序猿,不,程序员啊,怎么能做重复的事情呢?我们的原则是:能自动化的就绝不手工做。
(2) 手工测试低效,且容易出错;
(3) 与真实数据库交互速度慢;
2. 什么是内存数据库
顾名思义,内存数据库就是将数据存储在内存中的数据库,可以方便地与程序自身集成。这样,不需要运行真实的数据库,就可以完成数据库操作的测试。
3. Java开发常用的内存数据库-H2
在Java开发中,最常用的测试数据库就是H2。它仅仅是一个jar文件,因此可以方便地集成到项目中,用于测试和做真实数据库的缓存。
4. 使用方法
- 引入依赖
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>${h2.version}</version>
<scope>test</scope>
</dependency>
- 在springboot的yml文件中配置数据库信息
spring:
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:file:./target/test-classes/db/test01
username: root
password: 123
注意:该yml文件需要放在test/resources目录下,其名为application-test.yml.然后需要创建一个application.yml,配置如下:
spring:
profiles:
active: test
之后就可以像使用普通的数据库一样使用这个数据库了。