🥝FANMR.CN热爱,追求
H2数据库

测试版本:2.1.214

官网

官方网站

嵌入式数据库

  • 不需要安装数据库客户端服务端,该数据库为一个Jar包,项目直接引用即可
  • 可以用作内存数据库,也可用作文件数据库
  • 支持SQL语法

引入

maven

<!-- 没有JDBC不会创建H2文件 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

Gradle

runtimeOnly 'com.h2database:h2'

配置

spring:
  # 数据库
  datasource:
    # url: jdbc:h2:file:~/h2/test
    # ./ 表示Jar包所在目录
    url: jdbc:h2:file:./h2/fancy
    driver-class-name: org.h2.Driver
    username: fanjun
    password: fanjun
  # web访问,浏览器访问配置的路径可以查询数据库
  h2:
    console:
      settings:
        web-allow-others: true
      path: /h2
      enabled: true

一个有意思的事情

在做数据正向工程的时候,需要对H2和MySQL数据库进行兼容,除了数据库不一样以外,其他环境均一摸一样,执行的过程中偶然发现以下结果:

H2数据库居然比MySQL查询快!

虽然这只是简单的查询,不是复杂场景,但是速度居然快了6倍

IDEA连接H2

通常对于数据库我们都是用的是逆向工程,即数据库设计完成后,数据库中就有了表,而IDEA可以根据表进行逆向生成实体类,而前提是连接了数据库

第一步:选择驱动,在IDEA的右侧找到Database然后选择H2,如果网络好可以直接先下载驱动,不过不建议(版本与项目不一致)

图

图

直接选中Maven下载的H2Jar包就行

第二步:连接URL,这里需要注意不要启动项目,否则文件会被占用,无法连接

图