H2数据库相关介绍「建议收藏」

H2数据库相关介绍「建议收藏」什么是H2数据库H2是一个开源的嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时H2提供了一个十分方便的web控制台用于操作和管理数据库内容。H2还提供兼容模式,可以兼容一些主流的数据库,因此采用H2作为开发期的数据库非常方便。H2是纯java编写的,源码大小只有1M左右。优点:速度非常快,开源,JDBCAPI嵌入式和服务器模式;内存数据库基于浏览器的Console应用…

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

Jetbrains全系列IDE稳定放心使用

什么是H2数据库

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

优点:

速度非常快,开源,JDBC API
嵌入式和服务器模式; 内存数据库
基于浏览器的Console应用
体积小:大约2 MB的jar文件大小

在这里插入图片描述

开始我们的使用教程:

官网下载地址:连接
maven地址:连接

(这里只演示官网下载的内容)

安装后目录结构

在这里插入图片描述

bin目录下有一个jar包,整个h2就是这一个jar包

在这里插入图片描述

h2提供了可视化web界面,我们打开。

在这里插入图片描述
这两个都一样随便打开一个可以看到如下界面(说明我们的H2数据库正常启动了)
在这里插入图片描述
这里有个坑,高版本的h2不支持默认创建数据库了。所以你刚开始测试连接怎么也连不上。(不过低版本没有这个限制,貌似是2019年后的版本就这个限制)

H2连接方式

连接URL说明

在这里插入图片描述

type: 连接方式 mem(内存模式) file(嵌入式) tcp(服务模式)
一、在内存中运行
这点类似于Redis,运行时在内存中,一旦退出内存数据情况,什么也没发生。不过和Redis还有点区别,Redis默认有过期时间,而H2是程序结束直接清理内存。
连接字符串
jdbc:h2:mem:DBName;DB_CLOSE_DELAY=-1
二、嵌入式
数据库持久化存储为单个文件
连接字符串
	
jdbc:h2:file:~/.h2/DBName;AUTO_SERVER=TRUE

三、服务模式

H2支持三种服务模式:
  1. web server:此种运行方式支持使用浏览器访问H2 Console
  2. TCP server:支持客户端/服务器端的连接方式
  3. PG server:支持PostgreSQL客户端
连接字符串
jdbc:h2:tcp://localhost/~/.h2/test;AUTO_SERVER=TRUE

(路径可绝对,可相对)

连接字符串参数
  • DB_CLOSE_DELAY:要求最后一个正在连接的连接断开后,不要关闭数据库
  • MODE=MySQL:兼容模式,H2兼容多种数据库,该值可以为:DB2、Derby、HSQLDB、MSSQLServer、MySQL、Oracle、PostgreSQL
  • AUTO_RECONNECT=TRUE:连接丢失后自动重新连接
  • AUTO_SERVER=TRUE:启动自动混合模式,允许开启多个连接,该参数不支持在内存中运行模式
  • TRACE_LEVEL_SYSTEM_OUT、TRACE_LEVEL_FILE:输出跟踪日志到控制台或文件, 取值0为OFF,1为ERROR(默认值),2为INFO,3为DEBUG
  • SET TRACE_MAX_FILE_SIZE mb:设置跟踪日志文件的大小,默认为16M

好了赶紧玩去吧

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

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

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


相关推荐

  • Linux内核中的软中断、tasklet和工作队列具体解释

    Linux内核中的软中断、tasklet和工作队列具体解释

    2022年3月6日
  • pycharm中使用anaconda部署python环境_anaconda pycharm环境配置

    pycharm中使用anaconda部署python环境_anaconda pycharm环境配置总有那么多的知识点,看起来这么简单(其实解决的方法也很简单,无非是某个地方要加括号,要加双括号等小问题),但没有人好好讲的话会浪费很多时间。笔者先安装了Anaconda和Spyder,运行TensorFlow-GPU,最近安装了pycharm,想利用之前配置好的环境(省去依赖包的配置)。找了一些资源都没有将清楚。以下简洁版:1、新建项目,选择“Existinginterpreter”…

    2022年8月25日
  • 国产系统中标麒麟neokylin上的视频监控系统

    国产系统中标麒麟neokylin上的视频监控系统一、功能特点采用分层设计,整体总共分三级界面,一级界面是整体布局,二级界面是单个功能模块,三级界面是单个控件。子控件包括饼图、圆环图、曲线图、柱状图、柱状分组图、横向柱状图、横向柱状分组图、合格率控件、百分比控件、进度控件、设备状态面板、表格数据、地图控件、视频控件等。二级界面可以自由拖动悬浮,支持最小化隐藏、最大化关闭、响应双击自定义标题栏。数据源支持模拟数据(默认)、数据库采集、串口通信(需定制)、网络通信(需定制)、网络请求等,可自由设定每个子界面的采集间隔即数据刷新频率。采用纯QWidg

    2022年8月10日
  • 垂直方向上下居中_如何实现垂直居中

    垂直方向上下居中_如何实现垂直居中一、盒子没有固定的宽和高方案1、Transforms变形这是最简单的方法,不仅能实现绝对居中同样的效果,也支持联合可变高度方式使用。内容块定义transform:translate(-50%,

    2022年8月1日
  • SpringApplication初始化阶段[通俗易懂]

    SpringApplication初始化阶段[通俗易懂]在SpringFramework时代,Spring应用上下文通常由容器启动,如ContextLoaderListener或WebApplicationInitializer的实现类由Servlet容器装载并驱动。到了SpringBoot时代,Spring应用上下文的启动则通过调用SpringApplication.run(Object,String…)或SpringApplicationBuilder.run(String…)方法并配合@SpringBootApplication或@EnableAu

    2022年9月9日
  • Jenkins(8)构建触发器之定时构建和轮询 SCM「建议收藏」

    Jenkins(8)构建触发器之定时构建和轮询 SCM「建议收藏」前言跑自动化用例每次用手工点击jenkins出发自动化用例太麻烦了,我们希望能每天固定时间跑,这样就不用管了,坐等收测试报告结果就行。jenkins的定时任务是用的crontab语法定时构建语法

    2022年7月31日

发表回复

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

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