带你了解内嵌数据库H2

498 阅读2分钟

「这是我参与2022首次更文挑战的第26天,活动详情查看:2022首次更文挑战

前言

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

下图是H2与其他数据库的对比,可以看到其只有1M,是真的短小精悍 image.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.启动时创建表 image.png

2.新增数据,可以看到执行的sql image.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)结果 image.png

小结

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