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-cph2.jarorg.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控制台实例,否则你将得到如下错误信息
在同一台电脑上可以开启多个控制台程序(使用不同的端口), 如果控制台支持并发连接,则无需使用不同端口。
使用其他端口
如果端口被其它程序使用,你可能会想在其它端口开启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程序首先需要加载数据库驱动,然后获得一个连接。完成上述操作的一个简单方法是使用如下的代码:
- import java.sql.*;
- public class Test{
- public static void main(String[]a)
- throws Exception{
- Class.forName("org.h2.Driver" );
- Connectionconn=DriverManager.
- getConnection("jdbc:h2:~/test" , "sa" , "" );
- //addapplicationcodehere
- }
- }
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更详细描述,可以参考具体文档。
程序内部启动服务器方式
可以在应用程序内部启动或关闭服务。 例子代码:
- import org.h2.tools.Server;
- ...
- //starttheTCPServer
- Serverserver=Server.createTcpServer(args).start();
- ...
- //stoptheTCPServer
- 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。此方法调用的前提是所有的数据库连接已被关闭,以便数据库在下一次被打开时能正确运行。为了关闭远程服务器,应该确保服务器上的远程连接有效。
相关推荐
spring-boot-h2-console 该项目的主要目标是展示如何为Spring Boot Web应用程序配置h2控制台。 参考:前言H2是测试期间内存数据库的理想选择,因为我们不必安装数据库。 在开发过程中,我们经常需要查看数据库内部以...
本文将深入探讨在Windows环境下如何有效地开启并使用H2数据库控制台,以及其基本操作流程。 ### H2数据库概述 H2数据库是一款用Java编写的嵌入式数据库,支持SQL标准,并具备良好的性能和可靠性。它既可以作为一个...
如果在启动H2控制台时遇到端口占用错误,需要检查并确保该端口没有被其他应用占用,或者可以选择其他端口来启动控制台。 H2的管理既可以通过内置的Web管理系统完成,也可以通过命令行工具进行。Web管理系统提供了一...
JPA start.spring.io Gradle : Java : -> H2, JPA, Rest application.properties spring.h2.console.enabled=true 启动应用gradle bootRun 打开H2控制台localhost:8080/h2-console 添加一个JPA实体和存储库...
要在应用启动时开启H2控制台,需要在`application.properties`中添加以下配置: ```properties spring.h2.console.enabled=true spring.h2.console.path=/h2-console ``` 这样,你就可以在浏览器中访问`...
然后在配置文件中启用H2控制台,指定访问路径,并配置数据源的相关信息,如数据库URL、用户名、密码和驱动类名。在数据库初始化后,这些配置可以根据实际需求进行调整。启动应用后,可以通过配置的URL访问到H2数据库...
在本文中,我们将深入探讨如何在Spring Boot应用中集成并使用...通过自动配置和内嵌的H2控制台,我们可以轻松管理数据库,并进行数据库迁移和测试。在实际项目中,利用H2的这些特性,可以显著提高开发效率和产品质量。
4. **配置日志输出**:为了查看H2数据库的交互,可以在`application.properties`中开启H2控制台: ```properties spring.h2.console.enabled=true spring.h2.console.path=/h2-console ``` 5. **实体类与JPA**...
3. **访问H2 Console**: Spring Boot自动配置了H2控制台,可以通过`http://localhost:8080/h2-console`访问(端口可能根据项目设置不同)。默认情况下,无需用户名和密码,但若在配置文件中设置了,则需输入。 4. *...
此外,如果需要手工启动activiti服务,需要先启动H2数据库控制台和H2数据库访问服务。这通常涉及到运行指定的批处理文件,例如h2_console.start.bat和h2.start.bat,并设置相应的访问端口。 上述过程是在Windows XP...
1. **协议分析**:H2i能够显示HTTP/2连接的实时状态,包括打开的流、优先级树、发送和接收的数据帧等,帮助开发者理解协议的工作原理。 2. **命令行接口**:用户可以通过命令行输入指令,模拟发送不同类型的HTTP/2...
我们可以使用`Connection`对象的`setAutoCommit(false)`来开启手动提交,并在所有操作成功后调用`commit()`。 4. **异常处理**:在DAO实现中,我们需要捕获并适当地处理JDBC抛出的异常,如`SQLException`。通常,...
2. **配置数据库**:jbpm默认使用H2内存数据库,但也可以配置为MySQL、Oracle等其他数据库。修改`jbpm-installer/db.properties`中的数据库连接参数。 3. **运行安装脚本**:执行`jbpm-installer/install.sh`(Linux...
5. **部署应用**:将构建好的应用部署到JBoss服务器上,这可以通过修改JBoss的部署目录或者使用管理控制台进行。 6. **启动和测试**:启动JBoss服务器,然后通过浏览器访问JBPM的Web管理界面,进行流程的部署和管理...
2. MySQL数据库: Activiti默认使用H2数据库,但为了生产环境,推荐使用MySQL。确保安装了MySQL并创建了一个新的数据库,以供Activiti使用。 三、下载与导入 1. 下载Activiti:访问官方网站或者通过GitHub仓库获取...
默认情况下,Openfire使用内置的Jetty服务器和H2数据库,但也可以根据需求连接到MySQL、PostgreSQL或其他兼容的数据库系统。 安装完成后,通过Web管理界面进行管理。访问http://localhost:9090(或根据安装时配置的...
Nacos是阿里巴巴开源的一款分布式服务治理和配置中心的平台,主要应用于微服务架构中的服务发现、配置管理和控制台管理。1.3.0版本作为官方的更新版本,它可能包含了性能优化、新功能添加以及已知问题的修复。在...
Activiti Explorer默认使用H2内存数据库,如果想使用其他数据库,请参考相关文档。 Configure Activiti ----------------- 在使用Activiti之前,需要设置好JAVA_HOME系统变量。不同的操作系统下的设置方法是不同...