H2指南

2024-06-21 16:32
文章标签 指南 h2

本文主要是介绍H2指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

H2database是一款用java语言编写的开源数据库。

H2服务器下载下载地址: http://www.h2database.com/。 
原文地址http://www.h2database.com/html/tutorial.html


开启和使用H2控制台 
H2Database支持通过浏览器可以访问一个SQL数据库,数据库种类包括H2和其他相应的支持JDBC的数据库类型。 
 

这是一个客户端/服务器端模式,所以运行它需要一个服务器端和一个客户端(浏览器)。根据你的平台和环境,你可以通过多种方式启动H2: 
1、Windows      Click [Start], [All Programs], [H2], and [H2 Console (Command Line)] 
如果你使用的是SUN JKD1.4 或1.5,将会弹出一个标题为“H2 Console”的窗口; 如果你使用的是SUN JDK1.6,将会出现在成功启动的系统上显示图标。 
假如未弹出窗口也未出现图标,原因很可能是你的JAVA没有被正确的安装(在这种情况下,尝试通过其它方法启动服务,如:打开一个浏览器窗口,并使其指向http://localhost:8082)。 
2、Windows       从文件夹中定位到h2/bin,双击h2.bat。 
将会出现一个控制台窗口。如果有问题的话,在控制台窗口中将会出现错误信息。 随后一个浏览器窗口将被打开并指向登录页面(URL: http://localhost:8082)。 
3、Any         启动一个控制台窗口,定位到目录'h2/bin' , 输入:

Java代码
  1. java -cp h2.jar org.h2.tools.Server  

防火墙 
当你启动服务时,防火墙可能会显示一个安全警告信息(如果你安装了防火墙)。如果你不打算让位于同一个网络中的其他计算机访问你本机的数据库服务, 你可以设置防火墙 
阻止这些连接。此时来自本机的连接保持仍然可用。相反的,如果你打算允许其他机器访问本机的提供的数据库服务, 你可以设置防火墙允许这些连接。 
此外H2本身自带了一个小的防火墙: 默认情况下,其他机器不能连接到本服务。 为了改变默认, 你可以进入'Preferences' , 选择'Allow connections from other computers' 
译者注(Preferences选项位置数据库启动页面顶部) 



本地版本 
本地版本不必需JAVA支持, 因为它可以使用GCJ来编译。但是,现在基于Window的GCJ下运行H2仍不稳定。 


测试JAVA 
打开命令窗口并输入 测试你安装的java的版本 
java -version 
如果你得到的是错误信息, 此时你可能需要把java目录添加到环境变量中。 


错误消息“端口被使用” 
同一端口你只能运行一个H2控制台实例,否则你将得到如下错误信息

引用
Port is in use, maybe another ... server already running on.... 

在同一台电脑上可以开启多个控制台程序(使用不同的端口), 如果控制台支持并发连接,则无需使用不同端口。 


使用其他端口 
如果端口被其它程序使用,你可能会想在其它端口开启H2服务。此时可以通过改变.h2.server.properties中的端口设置来实现。 
该文件被保存在用户目录下(对于Windows 通常是Documents and Settings/<username>)。对应的管理配置项是webPort。 


启动成功 
如果服务在控制台中启动成功,将会打开一个新的窗口并显示如下: 
H2 Server running on port 9092 
Webserver running on https://localhost:8082/ 
不要在此窗口内操作,否则你可能会停止掉H2服务(如果你开启了快速编辑模式)。 


借助浏览器连接服务器 
如果H2服务器成功启动的话 你能够使用一个web浏览器来连接H2。 浏览器必须支持javascript、frames和样式层叠表(css)。 
如果你是在本地启动服务, 在浏览器中输入http://localhost:8082。 如果你是从另外一台计算机连接启动服务,你必须提供 
H2服务器的ip地址,例如:http://192.168.0.2:8082. 如果你打算在服务器端启用ssl, 浏览器的URL地址必须以https开头。 


多个并发的sessions 
h2Database支持多个并发的浏览器session。 因为数据库对象位于服务器, 所以连接的数目受服务器端内存大小的限制。 


程序配置 
启动服务时将在本地目录下创建一个配置文件(.h2.server.properties)。 对于windows来说, 该文件位于 
c:Document and Settings/[username]。 此文件中包含应用程序的配置信息。 


登录 
在登录页面,你必须提供数据库的连接信息。包括设置你的数据库的JDBC驱动、 JDBC URL、 用户名和密码。 如果你做完上面步骤,点击[connect] 
你可以保存并重新使用以前的连接信息, 这些信息被自动保存在应用程序的properties文件中。 


错误信息
 
错误信息以红色字来显示。 点击该信息可以显示或隐藏相应的异常链。 


添加数据库驱动 
通过将相应驱动的jar文件地址添加进环境变量H2DRIVERS 或CLASSPATH, 可以为H2数据库注册其它的驱动。 例如:(Window) 为了添加数据库驱动包C:\Programs\hsqldb\lib\hsqldb.jar, 
你可以将环境变量的H2DRIVERS 设置成C:\Programs\hsqldb\lib\hsqldb.jar。 
H2支持多种驱动,驱动之间使用“;”(windows)或“:”(其他操作系统)来分割。另外,描述驱动的路径中支持空格, 路径加引用。 


使用程序 
程序包含3个面板, 顶部的工具条、 左边的树和右边的查询/结果面板。 数据库实体(例如: tables)在左边的树结构中显示。在查询面板中输入SQL命令 
并点击“Run”。命令的执行结果将紧跟在命令下面。 


添加数据表名和列名 
通过单击左边的相应树状结构你可以将表名或列名字段插入到查询面板中。 在查询面板中查询语句为空时,如果你单击一个表,‘SELECT * FROM ...’将被添加进去。当在查询面板中输入一个查询语句后, 
被使用的表将自动展开在左边的树中。例如: 如果你输入SELECT * FROM TEST T WHERE T, 表TEST将在左边的树中被自动展开。 


断开连接和停止服务 
在浏览器中, 点击工具面板上的'Disconnect'断开连接。  但是,此时H2服务器仍然在运行并且可以接受新的session。 
为了停止服务, 你可以通过点击顶部工具面板中的【exit】图标。 如果该图标不存在,(因为你可能是通过其他方式启动的服务), 你可以在启动该H2服务的控制台窗口中按Ctrl+C来停止H2服务, 或直接关闭该控制台窗口来停止H2服务。 


使用JDBC连接到数据库 
为了连接到数据库, 一个java程序首先需要加载数据库驱动,然后获得一个连接。完成上述操作的一个简单方法是使用如下的代码: 

Java代码
  1. import java.sql.*;   
  2. public class Test {   
  3.          public static void main(String[] a)   
  4.          throws Exception {   
  5.          Class.forName("org.h2.Driver");   
  6.          Connection conn = DriverManager.   
  7.          getConnection("jdbc:h2:~/test""sa""");   
  8.      // add application code here   
  9.          }   
  10. }  


该代码首先加载驱动(Class.forName())然后打开一个连接(使用DriverManager.getConnection())。在所有的场合下,驱动的名字都是'org.h2.Driver'。 
为了能使被该数据库验证通过,数据库的URL通常以jdbc:h2:开头。getConnection()中的第二个参数是用户名(在本例中'sa'是数据库管理员);第三个参数是密码。 
注意: 在本数据库中用户名是不区分大小写的, 密码区分大小写。 


新建数据库 
默认情况下,如果URL中指定的数据库不存在将自动创建。创建数据库的用户将成为该数据库的管理员。 


使用服务器 
H2目前支持3种服务模式: web服务、TCP服务及ODBC服务模式。这些服务模式以不同的方式启动。 

从命令行启动方式 
命令行启动将加载默认配置, 运行 
java org.h2.tools.Server 
将加载默认配置。 为了得到配置选项列表和值, 可以运行 
java org.h2.tools.Server -? 
通过这些选项可以开启或停止H2服务器部分功能。 为了获得更详细的信息, 可以参考服务器的Api文档。 

连接到TCP启动方式 
为了借助TCP服务连接远程数据库,需使用如下驱动和数据库URL 
JDBC driver class: org.h2.Driver 
Database URL: jdbc:h2:tcp://localhost/~/test 
关于数据库URL更详细描述,可以参考具体文档。 

程序内部启动服务器方式 
可以在应用程序内部启动或关闭服务。 例子代码:

Java代码
  1. import org.h2.tools.Server;   
  2. ...   
  3. // start the TCP Server   
  4. Server server = Server.createTcpServer(args).start();   
  5. ...   
  6. // stop the TCP Server   
  7. server.stop();  



从其他进程中关闭一个TCP服务 
TCP服务方式可以从其他进程中关闭, 从命令行中关闭服务器。 运行: 
java org.h2.tools.Server -tcpShutdown tcp://localhost:9092 
从应用程序中TCP服务,可以运行如下代码: 
org.h2.tools.Server.shutdownTcpServer("tcp://localhost:9094"); 
这种方法将在服务器端调用System.exit。此方法调用的前提是所有的数据库连接已被关闭,以便数据库在下一次被打开时能正确运行。为了关闭远程服务器,应该确保服务器上的远程连接有效。

原文地址 http://congpeixue.javaeye.com/admin/blogs/216423

这篇关于H2指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081742

相关文章

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

如何掌握面向对象编程的四大特性、Lambda 表达式及 I/O 流:全面指南

这里写目录标题 OOP语言的四大特性lambda输入/输出流(I/O流) OOP语言的四大特性 面向对象编程(OOP)是一种编程范式,它通过使用“对象”来组织代码。OOP 的四大特性是封装、继承、多态和抽象。这些特性帮助程序员更好地管理复杂的代码,使程序更易于理解和维护。 类-》实体的抽象类型 实体(属性,行为) -》 ADT(abstract data type) 属性-》成

使用条件变量实现线程同步:C++实战指南

使用条件变量实现线程同步:C++实战指南 在多线程编程中,线程同步是确保程序正确性和稳定性的关键。条件变量(condition variable)是一种强大的同步原语,用于在线程之间进行协调,避免数据竞争和死锁。本文将详细介绍如何在C++中使用条件变量实现线程同步,并提供完整的代码示例和详细的解释。 什么是条件变量? 条件变量是一种同步机制,允许线程在某个条件满足之前进入等待状态,并在条件满

Java 入门指南:Java 并发编程 —— 并发容器 ConcurrentLinkedDeque

文章目录 ConcurrentLinkedDeque特点构造方法常用方法使用示例注意事项 ConcurrentLinkedDeque ConcurrentLinkedDeque 是 Java 并发工具包(java.util.concurrent 包)中的一个线程安全的双端队列(Deque)实现,实现了 Deque 接口。它使用了链表结构,并且针对高并发环境进行了优化,非常适合

使用Nginx部署前端Vue项目的详细指南

在本文中,我们将详细介绍如何使用Nginx部署一个前端Vue项目。此过程涵盖Vue项目的构建、Nginx的安装与配置、以及最后的项目启动。下面是步骤的详细说明。 步骤 1: 准备你的Vue项目 确保你已经创建并构建了一个Vue项目。如果你尚未创建Vue项目,可以使用以下命令创建一个: # 安装Vue CLInpm install -g @vue/cli# 创建一个新的Vue项目vue c

入门指南 | Datavines 安装部署篇

摘要:本文主要介绍基于源码部署 Datavines 和执行检查作业,内容主要分为以下几个部分: 平台介绍快速部署运行数据质量检查作业 Datavines 的目标是成为更好的数据可观测性领域的开源项目,为更多的用户去解决元数据管理和数据质量管理中遇到的问题。在此我们真诚欢迎更多的贡献者参与到社区建设中来,和我们一起成长,携手共建更好的社区。 https://github.com/dat

如何将卷积神经网络(CNN)应用于医学图像分析:从分类到分割和检测的实用指南

引言 在现代医疗领域,医学图像已经成为疾病诊断和治疗规划的重要工具。医学图像的类型繁多,包括但不限于X射线、CT(计算机断层扫描)、MRI(磁共振成像)和超声图像。这些图像提供了对身体内部结构的详细视图,有助于医生在进行准确诊断和制定个性化治疗方案时获取关键的信息。 1. 医学图像分析的挑战 医学图像分析面临诸多挑战,其中包括: 图像数据的复杂性:医学图像通常具有高维度和复杂的结构

从零开始构建大语言模型并进行微调:全面指南

要从0开始搭建并训练一个大语言模型(LLM),涉及到多个步骤和资源,包括理论理解、工具使用、数据准备、模型训练与微调。以下是一个从基础到应用的指南,帮助你理解并逐步实现这一目标。 1. 理解基础概念 在开始搭建大语言模型之前,了解以下基本概念至关重要: 生成式AI:通过大语言模型生成自然语言文本,例如GPT、BERT等。机器学习:通过数据训练模型,使其具备从数据中学习规律的能力。深度学习:机