mysql h2_h2初始化数据库

mysql h2_h2初始化数据库H2是一个开源的嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时H2提供了一个十分方便的web控制台用于操作和管理数据库内容。H2还提供兼容模式,可以兼容一些主流的数据库,因此采用H2作为开发期的数据库非常方便。一、引入Maven依赖在maven中定义H2数据库的版本属性1.3.172添加H2依赖com.h2databaseh2${h2.version}test二、运行方式1、在内存中…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

H2是一个开源的嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时H2提供了一个十分方便的web控制台用于操作和管理数据库内容。H2还提供兼容模式,可以兼容一些主流的数据库,因此采用H2作为开发期的数据库非常方便。

一、引入Maven依赖

在maven中定义H2数据库的版本属性

1.3.172

添加H2依赖

com.h2database

h2

${h2.version}

test

二、运行方式

1、在内存中运行

数据库只在内存中运行,关闭连接后数据库将被清空,适合测试环境

连接字符串:

jdbc:h2:mem:DBName;DB_CLOSE_DELAY=-1

如果不指定DBName,则以私有方式启动,只允许一个连接

2、嵌入式

数据库持久化存储为单个文件

连接字符串:

jdbc:h2:file:~/.h2/DBName;AUTO_SERVER=TRUE

~/.h2/DBName表示数据库文件的存储位置,如果第一次连接则会自动创建数据库

3、服务模式

H2支持三种服务模式:

1.web server:此种运行方式支持使用浏览器访问H2 Console

2.TCP server:支持客户端/服务器端的连接方式

3.PG server:支持PostgreSQL客户端

启动tcp服务连接字符串示例:

jdbc:h2:tcp://localhost/~/test 使用用户主目录

jdbc:h2:tcp://localhost//data/test 使用绝对路径

4、连接字符串参数

1.DB_CLOSE_DELAY:要求最后一个正在连接的连接断开后,不要关闭数据库

2.MODE=MySQL:兼容模式,H2兼容多种数据库,该值可以为:DB2、Derby、HSQLDB、MSSQLServer、MySQL、Oracle、PostgreSQL

3.AUTO_RECONNECT=TRUE:连接丢失后自动重新连接

4.AUTO_SERVER=TRUE:启动自动混合模式,允许开启多个连接,该参数不支持在内存中运行模式

5.TRACE_LEVEL_SYSTEM_OUT、TRACE_LEVEL_FILE:输出跟踪日志到控制台或文件, 取值0为OFF,1为ERROR(默认值),2为INFO,3为DEBUG

6.SET TRACE_MAX_FILE_SIZE mb:设置跟踪日志文件的大小,默认为16M

5、启动服务模式,打开H2 Console web页面

启动服务,在命令行中执行

java -cp h2*.jar org.h2.tools.Server

执行如下命令,获取选项列表及默认值

java -cp h2*.jar org.h2.tools.Server -?

常见的选项如下:

-web:启动支持H2 Console的服务

-webPort :服务启动端口,默认为8082

-browser:启动H2 Console web管理页面

-tcp:使用TCP server模式启动

-pg:使用PG server模式启动

此外,使用maven也可以启动H2服务

xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>

1.0.0

1.0.0

groupid

h2-console

H2 Console

pom

1.3.172

com.h2database

h2

${h2.version}

runtime

org.codehaus.mojo

exec-maven-plugin

java

org.h2.tools.Server

-web

-webPort

8090

-browser

在命令行中执行如下命令启动H2 Console

mvn exec:java

或者建立一个bat文件

@echo off

call mvn exec:java

pause

此操作相当于执行了如下命令:

java -jar h2-1.3.168.jar -web -webPort 8090 -browser

三、应用程序配置

1、Properties配置

java应用程序关于数据库的Properties配置文件示例如下:

#h2 database settings

jdbc.driver=org.h2.Driver

jdbc.url=jdbc:h2:file:~/.h2/quickstart;AUTO_SERVER=TRUE;DB_CLOSE_DELAY=-1

jdbc.username=sa

jdbc.password=

#connection pool settings

jdbc.pool.maxIdle=5

jdbc.pool.maxActive=40

2、初始化数据库

(1)、在Maven中初始化数据库

可以创建一个Profile,专门用于初始化数据库。在maven中可以通过maven-antrun-plugin执行ant任务,在ant任务中使用sql标签可以执行sql脚本文件,配置示例如下:

refresh-db

org.apache.maven.plugins

maven-antrun-plugin

password=”${jdbc.password}” οnerrοr=”continue” encoding=”${project.build.sourceEncoding}”>

执行如下命令调用该Profile,初始化数据库

mvn antrun:run -Prefresh-db

(2)、在Spring中初始化数据库

Spring Profile和maven profile一样,也可以模拟不同的开发环境。在Spirng中可以通过jdbc:initialize-database初始化数据库,配置示例如下

location=”classpath*:/application.properties,

classpath*:/application.test.properties” />

参靠:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183630.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 杀死指定进程号的进程_人工智能的判断标准

    杀死指定进程号的进程_人工智能的判断标准命令netstat-ano|findstr端口号获取pid根据PID找到此进程号的程序tasklist|findstr227312根据pid杀死进程taskkill/pid227312

    2022年9月15日
    1
  • win右键菜单二级菜单

    win右键菜单二级菜单参考:https://blog.csdn.net/mzYangMao/article/details/82913316一、创建对应的菜单组创建二级菜单,必须在下面创建SubCommands二、创建shell三、在shell下面创建对应的名字组,比如我这的sublime四、创建对应的command,然后对应的默认属性设置对应的值最终效果:…

    2022年6月11日
    21
  • shell 文件 数字比较

    shell 文件 数字比较

    2022年3月11日
    34
  • windows下安装emscripten python下载安装

    windows下安装emscripten python下载安装目录1.在电脑上安装配置好git和python2.新建个文件夹,用于放置emscripten3.在文件夹中,右键,gitbashhere4.从git上克隆出emscripten5.进入下载完的emsdk文件夹6.下载完查看是否更新emsdk7.安装最新的emsdk并配置全局的环境变量8.如果上一步安装成功,激活9.应用环境变量10.检验是否安装成功…

    2025年6月9日
    1
  • 在虚拟机上安装XP系统「建议收藏」

    在虚拟机上安装XP系统「建议收藏」WindowsXP番茄家园的安装点击”文件”–>”新建”–>”虚拟机”–>弹出”新建虚拟机向导”的欢迎界面.–>”下一步”配置你的新虚拟机,选择”典型”–>”下一步”选择客户机操作系统–>”MicrosoftWindows”-,版本:WindowsXPProfessional–>”下一…

    2022年8月16日
    0
  • SQL语句面试题目_sql基础知识面试题

    SQL语句面试题目_sql基础知识面试题我自己编辑总结的sql面试题目大全,也是每条都验证过的第一类:sql面试题(学生表_课程表_成绩表_教师表)表结构,节选自:http://www.cnblogs.com/qixuejia/p/3637735.html题目一,节选,自:https://wenku.baidu.com/view/cda288f1b90d6c85ed3ac671.html题目二,节选,自:http://ww…

    2022年8月29日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号