【Jsp精品源码栏目提醒】:网学会员为广大网友收集整理了,H2数据库管理使用 - 其它资料,希望对大家有所帮助!
H2 数据库使用H2 数据库介绍常用的开源数据库:H2,Derby,HSQLDB,MySQL,PostgreSQL。
其中 H2,HSQLDB类似,十分适合作为嵌入式数据库使用,其它的数据库大部分都需要安装独立的客户端和服务器端。
H2 的优势:1、h2 采用纯 Java 编写,因此不受平台的限制。
2、h2 只有一个 jar 文件,十分适合作为嵌入式数据库试用。
3、性能和功能的优势H2 比 HSQLDB 的最大的优势就是 h2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容,这点比起 HSQLDB 的 swing 和 awt 控制台实在好用多了。
H2 和各数据库特征比较。
准备工作1、h2-2011-04-04.zip 下载地址:http://www.h2database.com/html/download.html2、解压文件,这里以H2_HOME表示为解压的文件目录。
运行H2_HOME/bin/h2.bat将会自动打开下面网址。
请确认是否安装了 jdk,并设置了 JAVA_HOME 环境变量http://192.168.140.1:8082/login.jspjsessionid244e36a683f97f0d4f3b000f33530ed13、点击 connect ,登录。
4、执行上图中红色部分 sql 语句,成功创建 test 表。
因为没有指定数据库文件位置,会自动输出到输出到 C:/Users/Administrator 下。
H2 文件结构H2_HOME-h2 -bin h2-1.3.154.jar //jar 包 h2.bat //Windows 控制台启动脚本 h2.sh //Linux 控制台启动脚本 h2w.bat //Windows 控制台启动脚本(不带黑屏窗口) docs 帮助文档 service //通过 wrapper 包装成服务。
src //源代码 build.bat windows 构建脚本 build.sh linux 构建脚本H2 的使用支持 Embedded,server 和 in-memory 模式以及内存模式。
Embedded 模式1、新建 java project 工程 H2Test。
2、H2_HOME/bin/h2-1.3.154.jar 复制到 /H2Test/lib 下,并加入工程引用。
3、新建 Generic H2 Embedded数据库,指定:JDBCURL:jdbc:h2:E:/research/workspace/H2Test/db/test,然后执行上面的 test sql 语句,来创建一个 test 表。
4、新建 TestH2 类 主要代码public static void mainString a throws Exception Class.forName“org.h2.Driver” Connection conn DriverManager. getConnection“jdbc:h2:E://research//workspace//H2Test//db//test” “sa” “” // add application code here Statement stmt conn.createStatement ResultSet rs stmt.executeQuery“SELECT FROM TEST “ whilers.next System.out.printlnrs.getInt“ID”””rs.getString“NAME” conn.close控制台打印出:1Hiserver 模式1、直接将 jdbc url 改为:jdbc:h2:tcp://localhost//test 就行了。
因为我们在上面第一步的时候已经在 C:/Users/Administrator 创建了 test 数据库。
你也可以再创建新的数据库,默认都是保存在 C:/Users/Administrator 下的。
注意:你必须启动服务:H2_HOME/bin/h2.bat 或者 以服务模式启动:H2_HOME/service/0_run_server_debug.bat ,里面有好几个脚本把 H2 部署为服务模式。
每次机器启动后自动启动 H2 服务。
2、新建 TestServerH2 类 主要代码public static void mainString a throws Exception Class.forName“org.h2.Driver” Connection conn DriverManager. getConnection“jdbc:h2:tcp://localhost//test” “sa” “” // add application code here Statement stmt conn.createStatement ResultSet rs stmt.executeQuery“SELECT FROM TEST “ whilers.next System.out.printlnrs.getInt“ID”””rs.getString“NAME” conn.close运行的结果和上面一样。
内存模式(数据只保存在内存中)1、新建 TestMemH2 类 主要代码public static void mainString a throws Exception Class.forName“org.h2.Driver” Connection conn DriverManager. getConnection“jdbc:h2:tcp://localhost/mem:test2〃 “sa” “” // add application code here Statement stmt conn.createStatement stmt.executeUpdate“CREATE TABLE TEST_MEMID INT PRIMARY KEYNAMEVARCHAR255” stmt.executeUp