作者:一一哥
我在上一章节中讲解了Spring Boot中整合Mybatis,接下来我给大家介绍一款内存数据库--H2。
H2作为一款内存数据库,适合开发阶段调试代码使用,并不适用于生产阶段。
H2 数据库是一个用 Java 开发的嵌入式(内存级别)数据库,它本身只是一个类库,也就是只有一个 jar 文件,可以直接嵌入到项目中。
H2数据库又被称为内存数据库,因为它支持在内存中创建数据库和表。所以如果我们使用H2数据库的内存模式,那么我们创建的数据库和表都只是保存在内存中,一旦服务器重启,那么内存中的数据库和表就不存在了。
H2 主要有如下三个用途:



连接语法:
jdbc:h2:[file:][<path>]<databaseName>
例如:
//连接位于用户目录下的test数据库
jdbc:h2:~/test
jdbc:h2:file:/data/sample
jdbc:h2:file:E:/H2/gacl(Windows only)连接语法:
jdbc:h2:tcp://<server>[:<port>]/[<path>]<databaseName>
范例:
jdbc:h2:tcp://localhost/~/testh2 数据库下载地址:
http://www.h2database.com/html/main.html
或者:
http://www.h2database.com/html/download.html
我们可以在官网上选择一个版本进行下载,可以下载安装器或者直接下载软件包。
我这里选择 "Platform-Independent Zip" 版本,这是一个zip压缩包,解压后即可使用,既可用于 Windows 平台,也可用于 Linux 平台。

h2
|---bin
| |---h2-1.1.116.jar //H2数据库的jar包(驱动也在里面)
| |---h2.bat //Windows控制台启动脚本
| |---h2.sh //Linux控制台启动脚本
| |---h2w.bat //Windows控制台启动脚本(不带黑屏窗口)
|---docs //H2数据库的帮助文档(内有H2数据库的使用手册)
|---service //通过wrapper包装成服务。
|---src //H2数据库的源代码
|---build.bat //windows构建脚本
|---build.sh //linux构建脚本

我们可以进入到h2的bin目录下,点击h2.bat或者h2w.bat,运行软件。
我这里选择的是点击h2w.bat,该方式会在后台运行。

如果是在 Linux 环境下,可运行./h2.sh 文件来启动数据库服务,但不建议这样直接启动,因为需要带一些参数,需要进行如下修改:
1).复制h2.sh为h2_server.sh文件;
2).编辑h2_server.sh,如下:
#!/bin/sh
dir=$(dirname"$0")
java -cp "$dir/h2-1.4.197.jar:$H2DRIVERS:$CLASSPATH" org.h2.tools.Server -tcpAllowOthers -webAllowOthers -webPort 8082 "$@"
3).说明:
org.h2.tools.Server: 以服务器模式启动;
-tcpAllowOthers: 允许远程机器通过TCP方式访问;
-webAllowOthers: 允许远程机器通过浏览器访问;
-webPort 8082: 默认的访问端口(8082为未被占用的端口,如果此端口已经被其他端口占用,则改为其他端口);
4).具体的运行方式:
chmod修改文件权限;
输入nohup ./h2_server.sh & 回车,这样可以后台运行;
nohup 命令可以在我们退出账户之后继续运行相应的进程,nohup 就是不挂起的意思(no hang up),& 表示让该进程实现后台运行,该命令的一般形式为:
# nohup command &我们可以在windows窗口右下角,右键点击H2控制台的图标,选择”Create a new database...“,创建一个新的数据库。

然后进入到控制台设置界面,设置数据库的存放路径,访问的用户名和密码,然后创建出数据库。

设置url,用户名密码,然后点击连接或者测试连接,登录进去。

"~" 这个符号在window操作系统下代表当前登录到操作系统的用户对应的用户目录,与 Linux 系统中的意义相同,代表用户家目录。
我们也可以点击”配置“按钮,进入到H2的配置界面,这里可以设置端口号等信息;
点击”工具“,可以对H2数据库进行备份、还原、恢复、集群、运行脚本、删除文件等操作。

当我们点击H2的”连接“按钮,当用户名密码正确的情况下,就可以成功地进入到H2的web控制台界面。

H2 数据库不同模式连接字串


原文作者:;如有侵权,请联系管理员删除。