首页 > 数据库 >H2 数据库使用教程

H2 数据库使用教程

时间:2023-05-09 19:22:32浏览次数:86  
标签:教程 H2 数据库 h2 test 控制台 连接

启动方式
启动数据库
1.命令行启动
java -cp h2* jar org.h2. tools.Server
如果在控制台无法创建数据库可以采用如下启动方式
java -cp h2*.jar org.h2.tools.Server -ifNotExists

2.应用程序内启动

JAVA 项目中使用 H2 数据库
为什么要使用H2数据库
H2数据库是可以嵌入到JAVA项目中的,因为只需要导入一个jar包即可,所以非常的方便。
项目中导入H2
将H2的jar包放到classpath里即可,我是用的maven,maven的配置如下

com.h2database
h2
1.4.192

版本我用的现在的最新版
然后需要修改JDBC的配置,主要是下面两个属性跟其他数据库(如MySQL)不同,其他都一样
org.h2.Driver
jdbc:h2:tcp://localhost/~/test
上面jdbc:h2:tcp://localhost/~/test中的test是数据库的名字,H2默认如果数据库不存在的话,会自动创建一个数据库的。
我用的是hibernate,所以还要修改一下Dialect的配置
org.hibernate.dialect.H2Dialect
到这为止,项目里面就可以使用H2了。
使用WEB控制台管理H2数据库
建表、建数据的话,可以通过H2自带的WEB控制台来做(当然H2也提供命令行的方式)
WEB控制台可以通过命令行来启动,但为了方便,可以从H2官网上下载一个安装包,运行里面的bat文件直接启动。

H2\bin目录

这是H2安装完以后bin目录下的内容,运行h2w.bat打开web控制台

H2 web控制台Login画面
点Connect
之后的玩法就跟其他数据库差不多了,可以点击下面的Sample SQL Script部分来感受一下建表和插入数据等,help命令,可以显示所有的命令。关于命令的详细可以去H2官网里面看。

H2 控制台
关于H2 数据库的连接方式
连接H2数据库有以下方式

  • 服务式 (Server)
  • 嵌入式(Embedded)
  • 内存(Memory)
    还没太仔细研究,到目前的理解:
嵌入式的话,就是这个H2数据库只能给一个应用使用,连接是有排他机制的。当一个应用用嵌入式连接方式连接了以后,其他的应用就不能再连接了。
服务式的话,就跟MySQL、Oracle这种数据库差不多,服务器单独运行,可以多个客户端同时连接。
内存方式,顾名思义,数据仅保持在内存中
    嵌入式和服务式主要体现在JDBC连接的URL方式不同,上面例子中给的是服务式的。
  • 服务式 (Server)
jdbc:h2:tcp://localhost/~/test
  • 嵌入式(Embedded)
jdbc:h2:~/test
  • 内存式(Memory)
jdbc:h2:tcp://localhost/mem:test
    这个不用记,在H2控制台的Login画面选择连接方式,就会生成不同的URL
    采用原生方式连接使用

标签:教程,H2,数据库,h2,test,控制台,连接
From: https://www.cnblogs.com/Adaking/p/17386004.html

相关文章

  • VsCode安装教程
    1、下载链接。https://code.visualstudio.com/以下红色箭头任意点一个即可,(stable为稳定线上版本,insders为测试版本,会有一些新功能,但不稳定),我们选stable 2、下载完成后双击解压免安装的,直接打开即可,不可删除(可复制到安全的文件夹下面)3、安装语言包,点击1,搜索Chinese,点击安装(目......
  • delphi 初识内存流: 从设置用户头像到从数据库存取图片到的过程
    所谓"流",就是一段数据或是一块内存;在进行流操作时,我们不必关心流中的数据到底是什么;只需要知道流的大小和当前的指针位置.所以流只有两个属性: Size、Position.对流的操作,不过就是读取和写入.所以流最主要的方法就是Read和Write.在很多控件的使用中,读取主要用Lo......
  • 数据库连接池
     (解决每次数据库连接的卡顿)优点~~~~1.资源重用避免了频繁的创建2.更快的系统反应速度提前创建了若干数据库连接3.新的资源分配手段实现一个应用最大可用数据库连接数的限制4.同意连接管理避免数据连接泄露强制回收被占用连接从而避免了常规数据库连接操作中出现的资源泄露......
  • C#使用词嵌入向量与向量数据库为大语言模型(LLM)赋能长期记忆实现私域问答机器人落地
     本文将探讨如何使用c#开发基于大语言模型的私域聊天机器人落地。大语言模型(LargeLanguageModel,LLM这里主要以chatgpt为代表的的文本生成式人工智能)是一种利用深度学习方法训练的能够生成人类语言的模型。这种模型可以处理大量的文本数据,并学习从中获得的模式,以预测在给定的......
  • 什么是XH2.5连接器
    做电子的人对这种连接器应该很熟悉,很多电路板上都会用到这种白色的间距2.5mm连接器:           在我大学期间,学长们将其称之为XH2.5连接器,在工作的时候,同事们把他们叫做XH2.5接插件,区别只是直插还是弯插,例如:一个4P的,间距2.5mm,弯插,带锁扣的连接器,公司的采购型号......
  • springboot alibaba druid数据库连接池配置,输出可执行sql
    #数据源配置spring:datasource:type:com.alibaba.druid.pool.DruidDataSourcedruid:#初始连接数initialSize:5#最小连接池数量minIdle:2#最大连接池数量maxActive:50#配置获取连接等待超时的时间......
  • 华为云数据库首席专家谈分布式数据应用挑战和发展建议
    摘要:本文分析了分布式数据库发展情况、分布式数据库应用的主要问题,从行业应用的角度给出了分布式数据库发展的建议。本文分享自华为云社区《数字化转型下我国分布式数据库应用挑战及发展建议》,作者:数据库领域科学家、华为云数据库GaussDB首席专家冯柯。当前,金融等重点行业都在......
  • RDS的PG数据库删除数据后表空间不释放问题处理
    清理表空间(pg_repack)RDSPostgreSQL支持通过插件pg_repack在线清理表空间,有效解决因对全表大量更新等操作引起的表膨胀问题。pg_repack无需获取排它锁,相比CLUSTER或VACUUMFULL更加轻量化。前提条件RDS实例需要满足以下条件:实例大版本内核小版本PostgreSQL10、11、1......
  • 第二节:BBS数据库表结构设计
    目录BBS数据表表结构设计一、用户表:UserInfo二、博客表:Blog三、文章表:Article四、标签表:Tag五、分类表:Category六、评论表:Comment七、点赞点踩表:UpAndDown八、文章标签表:Tag2Article九、轮播图表Swiper(拓展)十、日志表:Log(拓展)十一、创建BBS表模型表设计十二、改配置文件......
  • C语言快速入门教程1快速入门 2指令 3条件选择
    快速入门什么是C语言?C是一种编程语言,1972年由DennisRitchie在美国AT&T的贝尔实验室开发。C语言变得很流行,因为它很简单,很容易使用。今天经常听到的一个观点是--"C语言已经被C++、Python和Java等语言所取代,所以今天何必再去学习C语言"。我很不赞同这种观点。这有几个原因。这......