1.h2介绍
官方文档,最为致命:https://www.ctolib.com/docs/sfile/h2-database-doc/index.html
H2数据库是由Java编写、基于内存的数据库,它所占的空间非常小。虚拟机启动的时候建立数据库,虚拟机关闭的时候销毁数据库。
由于h2数据库可缓存临时数据等特点,所以此数据库经常用于测试,在SpringBoot中可直接使用导入依赖使用,不用再去下载一个本地程序作为数据库的载体。
H2控制台应用程序还可以通过浏览器访问数据库。
2.Springboot整合H2
环境:JDK1.8+,Maven,IDEA,internet,… …
这里本地安装的方式就不,直接在SpringBoot上引入h2数据库依赖,即插即用,非常的方便。
下面是项目目录(仅供参考):
我们创建一个SpringBoot项目,引入Mybatis-plus依赖(用来访问h2数据库),点击我查看详细步骤。
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
2.1 h2依赖
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
2.2 yml配置文件
针对下面的配置信息,做出一点解释:
- schema:虚拟机启动程序后,读取这个脚本建数据库。
- data:插入数据库的数据。
spring:
datasource:
driver-class-name: org.h2.Driver
schema: classpath:db/schema-h2.sql
data: classpath:db/data-h2.sql
url: jdbc:h2:mem:h2
username: root
password: 123
mybatis:
type-aliases-package: com.pdh.entity
mapper-locations: classpath:/mybatis/*.xml
2.3 SQL脚本
这里提供SQL脚本,schema和data,都发在resource包下的db包下(新建db包):
schema-h2.sql
DROP TABLE IF EXISTS user;
CREATE TABLE user(
id BIGINT(20) NOT NULL COMMENT '主键ID',
name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
age INT(11) NULL DEFAULT NULL COMMENT '年龄',
email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (id)
);
data-h2.sql
DELETE FROM user;
INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');
2.4 实体类
@TableName(value = "user")
public class User {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@TableField(value = "name")
private String name;
@TableField(value = "age")
private Integer age;
@TableField(value = "email")
private String email;
}
2.5 Mapper
public interface UserMapper extends BaseMapper<User> {
}
之后需要把此类的包进行扫描,在启动类上加上@MapperScan(“com.pdh.mapper”)注解实现扫描加载到容器。
2.6 测试类
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {
@Autowired
private UserMapper mapper;
@Test
public void findAll(){
mapper.selectList(null).forEach(System.out::println);
}
}
得到的数据
User(id=1, name=Jone, age=18, email=test1@baomidou.com) User(id=2, name=Jack, age=20, email=test2@baomidou.com) User(id=3, name=Tom, age=28, email=test3@baomidou.com) User(id=4, name=Sandy, age=21, email=test4@baomidou.com) User(id=5, name=Billie, age=24, email=test5@baomidou.com)
到这里,springboot整和h2数据库就完成了。
3.未完待续 …
目前为止,还不能更进一步学习和使用h2数据库,之后如果有机会学习h2数据库,会带来更多内容 ^_^~!!!
|