带你了解内嵌数据库H2

简介: 对于后端开发来说,在开发过程中,我们基本时时都在与数据库打交道。我们一般使用的数据库都有MySQL、SQL Server、DB2,以及NO SQL里的Redis和MongoDB,还是就是现在的流行的云数据库,而其中使用频率高的应该是MySql,这些数据库有什么特点呢,除了云数据库你都得安装,而今天要说的数据库是H2不需要那么复杂,不需要安装,但是其作为内嵌数据库,数据其实是保存在内存里的,重启后数据就没了,适用于初学者学习和一些特殊场景使用。

微信截图_20220531145505.png

前言


对于后端开发来说,在开发过程中,我们基本时时都在与数据库打交道。我们一般使用的数据库都有MySQL、SQL Server、DB2,以及NO SQL里的Redis和MongoDB,还是就是现在的流行的云数据库,而其中使用频率高的应该是MySql,这些数据库有什么特点呢,除了云数据库你都得安装,而今天要说的数据库是H2不需要那么复杂,不需要安装,但是其作为内嵌数据库,数据其实是保存在内存里的,重启后数据就没了,适用于初学者学习和一些特殊场景使用。


下图是H2与其他数据库的对比,可以看到其只有1M,是真的短小精悍微信截图_20220531145534.png

接下来我们看看如何使用H2


一.Spring boot 集成H2


1.引入H2,这里是配合JPA一起操作

<dependency>
   <groupId>com.h2database</groupId>
   <artifactId>h2</artifactId>
   <version>1.4.197</version>
</dependency>
复制代码


2.配置,这里可以直接配置初始化数据文件,在项目启动后会自动初始化数据

spring:
  jpa:
    #使用的是H2的方言
    database-platform: org.hibernate.dialect.H2Dialect
    hibernate:
      ddl-auto: update
    properties:
      hibernate:
        #显示执行sql
        show_sql: true
        use_sql_comments: true
        format_sql: true
  datasource:
    #mem:连接到内存 file是保存到文件 
    url: jdbc:h2:mem:h2_test;MODE=MySQL;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
    driver-class-name: org.h2.Driver
    username: h2_root
    password: root
    initialization-mode: always
复制代码


二.具体实现


1.启动时创建表微信截图_20220531145607.png

2.新增数据,可以看到执行的sql微信截图_20220531145631.png


3.获取数据


1)代码

User user = new User();
user.setUserName("测试H2_人员1号");
user.setCreateDate(new Date());
User result = userRepository.save(user);
log.info("保存结果{}",result);
List<User> all = userRepository.findAll();
log.info("所有用户信息{}",all);
复制代码


2)结果微信截图_20220531145703.png


小结


以上就是对H2数据库的操作,不是很复杂。当遇到电脑系统重装但是又需要用到数据库测试功能,这时候去安装配置数据库还要下载和安装,这个时候H2的优势就来了,配置上就直接用,很是方便,感兴趣的小伙伴可以去试试。

目录
相关文章
|
7月前
|
Java 数据库连接 数据库
SpringBoot内嵌数据库
SpringBoot内嵌数据库
91 0
|
Java 数据库 Spring
RuoYi 集成H2数据库
RuoYi 集成H2数据库
120 0
|
9天前
|
Java 数据库连接 测试技术
SpringBoot入门 - 添加内存数据库H2
SpringBoot入门 - 添加内存数据库H2
28 3
SpringBoot入门 - 添加内存数据库H2
|
1月前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
47 4
SpringBoot入门(4) - 添加内存数据库H2
|
2月前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
31 2
SpringBoot入门(4) - 添加内存数据库H2
|
26天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
65 13
|
21天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
36 4
|
6月前
|
SQL druid Java
传统后端SQL数据层替代解决方案: 内置数据源+JdbcTemplate+H2数据库 详解
传统后端SQL数据层替代解决方案: 内置数据源+JdbcTemplate+H2数据库 详解
64 1
|
7月前
|
SQL 存储 定位技术
数据库基础(七):用户自定义数据类型与标量值、内嵌表值、多语句表值函数等用户定义函数的创建、使用、删除
数据库基础(七):用户自定义数据类型与标量值、内嵌表值、多语句表值函数等用户定义函数的创建、使用、删除
130 1
|
Java 数据库
springboot使用内置h2数据库数据保存本地文件夹
springboot使用内置h2数据库数据保存本地文件夹
242 0