☆☆☆★☆☆☆

唯有努力才能活成自己想要活成的样子

导航

H2数据库学习

安装

H2数据库是一个开源的关系型数据库;

H2是一个采用java语言编写的嵌入式数据库引擎,只是一个类库(即只有一个 jar 文件),可以直接嵌入到应用项目中,不受平台的限制

应用场景

  可以同应用程序打包在一起发布,可以非常方便地存储少量结构化数据
  可用于单元测试
  可以用作缓存,即当做内存数据库

运行模式:H2有三种运行模式

  内嵌模式(Embedded Mode):内嵌模式下,应用和数据库同在一个JVM中,通过JDBC进行连接。可持久化,但同时只能一个客户端连接。内嵌模式性能会比较好。

  服务器模式(Server Mode):使用服务器模式和内嵌模式一样,只不过它可以跑在另一个进程里。

  混合模式:第一个应用以内嵌模式启动它,对于后面的应用来说它是服务器模式跑着的。混合模式是内嵌模式和服务器模式的组合。

连接方式
以嵌入式(本地)连接方式连接H2数据库

  这种连接方式默认情况下只允许有一个客户端连接到H2数据库,有客户端连接到H2数据库之后,此时数据库文件就会被锁定,那么其他客户端就无法再连接了。

    连接语法:jdbc:h2:[file:][<path>]<databaseName>

    例如:

    jdbc:h2:~/test    // 连接位于用户目录下的test数据库
    jdbc:h2:file:/data/sample
    jdbc:h2:file:D:/test/H2/clc  // Windows模式

  使用嵌入模式,不需要先启动h2的服务器,直接执行客户端即可,h2文件只能有一个进程持有。

使用TCP/IP的服务器模式(远程连接)方式连接H2数据库(推荐)

  这种连接方式就和其他数据库类似了,是基于Service的形式进行连接的,因此允许多个客户端同时连接到H2数据库。

    连接语法:jdbc:h2:tcp://<server>[:<port>]/[<path>]<databaseName>

    范例:jdbc:h2:tcp://localhost/~/test

H2数据库的内存模式

  连接语法:jdbc:h2:mem:<databaseName>

  H2数据库被称为内存数据库,因为它支持在内存中创建数据库和表。


注意:如果使用H2数据库的内存模式,那么我们创建的数据库和表都只是保存在内存中,一旦服务器重启,那么内存中的数据库和表就不存在了。

posted on 2020-11-03 15:57  Yr-Zhang  阅读(195)  评论(0编辑  收藏  举报