`

H2数据库

    博客分类:
  • java
 
阅读更多

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  
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. }  
	import java.sql.*;
	public class Test {
 		 public static void main(String[] a)
 		 throws Exception {
  	 	 Class.forName("org.h2.Driver");
  	 	 Connection conn = DriverManager.
     	 getConnection("jdbc:h2:~/test", "sa", "");
    	 // add application code here
 		 }
	}


该代码首先加载驱动(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();  
import org.h2.tools.Server;
...
// start the TCP Server
Server server = Server.createTcpServer(args).start();
...
// stop the TCP Server
server.stop();



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

分享到:
评论

相关推荐

    h2数据库 jar包 下载 资料

    标题中的“h2数据库 jar包 下载 资料”指的是可以获取到H2数据库的JAR包以及相关的学习资料,这对于开发者来说是非常有价值的资源。 首先,我们来详细了解一下H2数据库的核心特性: 1. **轻量级**: H2数据库是一个...

    h2数据库批量导出

    《H2数据库批量导出详解》 H2数据库是一款开源、高性能、轻量级的Java关系型数据库,广泛应用于测试、开发以及嵌入式环境。它支持多种数据库模式,包括MySQL、Oracle等,并且提供了丰富的命令行工具和API,使得...

    H2数据库驱动包

    H2数据库驱动包是专为H2数据库设计的连接组件,它使得开发者能够轻松地在应用程序中集成H2数据库,以便进行数据存储、查询和管理。H2数据库是一款开源、轻量级、高性能的关系型数据库,广泛应用于开发测试和小型项目...

    H2数据库官方文档(English)

    根据提供的文件内容,以下是关于H2数据库的知识点: H2数据库是一种开源的关系型数据库管理系统(RDBMS),它以嵌入式数据库的形式出现,通常被用作内存数据库。这意味着它可以将数据库存储在计算机的主内存中,从而...

    springboot整合h2数据库实战

    Spring Boot 整合 H2数据库实战 Spring Boot 是一个基于 Java 的开源框架,旨在简化 Java 企业级应用程序的开发过程。H2 是一个开源的关系型数据库,采用 Java 语言编写,不受平台的限制。Spring Boot 整合 H2 ...

    H2数据库客户端

    **H2数据库客户端详解** H2数据库是一款轻量级、高性能的开源关系型数据库系统,设计用于嵌入式和服务器模式的应用。它以其简洁的API、高速度和灵活性而受到开发者的欢迎。H2数据库支持SQL标准,可以方便地与Java...

    H2数据库最新稳定版本,平台无关包

    H2数据库是一款开源、轻量级、高性能的关系型数据库,特别适合于嵌入式系统和小型项目。它的名称“H2”来源于它是一个二维(2D)数据存储解决方案。这款数据库管理系统是用Java编写,因此具有平台无关性,可以在任何...

    H2数据库完整版-安装服务和说明

    H2数据库是一款开源、轻量级、嵌入式的Java关系型数据库系统,广泛应用于开发测试、小型项目以及作为大型应用程序的内存模式。本资源提供的是H2数据库的完整版,包含安装服务和详细说明,旨在帮助用户快速上手并深入...

    h2数据库安装文件-2021610.zip

    H2数据库是一款开源、轻量级、嵌入式的Java数据库,广泛应用于开发测试和小型项目中。它支持多种数据类型,包括INT、VARCHAR、DATE、TIME等,并且提供了SQL92标准的大部分功能,便于开发者进行数据库操作。下面将...

    h2view.zip h2数据库可视化工具,个人开发,bug有点多,请见谅

    《H2View:一款个人开发的H2数据库可视化工具》 H2View是一款专为H2数据库设计的可视化工具,由个人开发者独立制作。虽然在使用过程中可能存在一些已知的bug,但其核心功能旨在帮助用户更直观地管理和操作H2数据库...

    h2 数据库 客户端

    **H2数据库客户端详解** H2数据库是一款开源、高性能、轻量级的Java关系型数据库管理系统,它在嵌入式和服务器模式下均表现出色。H2数据库以其易用性、快速性能和全面的SQL支持而受到开发者的青睐,尤其在进行测试...

    启动H2数据库并导入数据库脚本

    标题中的“启动H2数据库并导入数据库脚本”是指在计算机环境中启动H2数据库服务器,并将预先准备的SQL脚本(如`schema.sql`)导入到该数据库中以创建或更新数据库结构的过程。H2是一个轻量级、开源的Java数据库,常...

    h2 数据库驱动包

    h2 数据库驱动包, 为drools-server 提供数据库支持,放在tomcat lib目录下执行

    H2数据库使用说明英文版

    H2数据库是一种开源的关系型数据库管理系统(RDBMS),它以Java语言编写,并且能够以多种方式嵌入到Java应用程序中。H2数据库使用说明详细介绍了其安装、使用、配置等一系列操作,旨在帮助用户快速上手并有效利用这...

    H2数据库中文资料

    **H2数据库中文资料** H2数据库是一款轻量级、高性能、开源的关系型数据库系统,广泛应用于测试环境和小型项目中。它支持多种数据库模式,包括单用户模式、嵌入式模式、服务器模式等,使得在不同的场景下都能灵活...

    H2 数据库 1.1.104

    H2数据库是一款轻量级、高性能的关系型数据库管理系统,由HSQLDB的作者设计和开发。作为开源软件,H2数据库在许多方面展现了其优越性,尤其在速度和易用性上,它甚至能比HSQLDB运行得更快。这款数据库引擎支持多种...

    H2数据库内容打包,包含最新的官方文档和H2官方包,源码等

    H2数据库是一款开源、轻量级、高性能的关系型数据库,主要设计用于Java环境,但也支持其他编程语言。它以其高效、灵活和易于集成的特点,在单机应用、开发测试以及嵌入式系统中得到了广泛应用。H2数据库的核心优势...

    H2数据库demo展示

    H2数据库是一款轻量级、高性能的开源关系型数据库,尤其适合于嵌入式开发和测试环境。它的设计目标是提供快速、灵活且易于使用的数据库系统,能够在Java应用程序中直接运行,无需安装额外的服务器。在Java开发中,H2...

    h2数据导入mysql数据库(看评论酌情下载)

    h2 数据库导入 MySQL 数据库 h2 数据库导入 MySQL 数据库是指将 h2 数据库中的数据导入到 MySQL 数据库中,以便更好地存储和管理数据。下面将详细介绍 h2 数据库导入 MySQL 数据库的步骤。 首先,需要创建一个 ...

Global site tag (gtag.js) - Google Analytics