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.html
2、解压文件,这里以%H2_HOME%表示为解压的文件目录。运行%H2_HOME%/bin/h2.bat 将会自动打开下面网址。(请确认是否安装了jdk,并设置了JAVA_HOME环境变量)
http://192.168.140.1:8082/login.jsp?jsessionid=244e36a683f97f0d4f3b000f33530ed1
3、点击 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)数据库,指定:JDBC URL:jdbc:h2:E:/research/workspace/H2Test/db/test,然后执行上面的test sql语句,来创建一个test表。
4、新建 TestH2类 主要代码
public static void main(String[] 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 “);
while(rs.next()) {
System.out.println(rs.getInt(“ID”)+”,”+rs.getString(“NAME”));
}
conn.close();
}
控制台打印出:1,Hi
server模式
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 main(String[] 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 “);
while(rs.next()) {
System.out.println(rs.getInt(“ID”)+”,”+rs.getString(“NAME”));
}
conn.close();
}
运行的结果和上面一样。
内存模式(数据只保存在内存中)
1、新建 TestMemH2类 主要代码
public static void main(String[] 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_MEM(ID INT PRIMARY KEY,NAME VARCHAR(255));”);
stmt.executeUpdate(“INSERT INTO TEST_MEM VALUES(1, ‘Hello_Mem’);”);
ResultSet rs = stmt.executeQuery(“SELECT * FROM TEST_MEM”);
while(rs.next()) {
System.out.println(rs.getInt(“ID”)+”,”+rs.getString(“NAME”));
}
conn.close();
}
控制台打印出:1,Hello_Mem
2、上面的 URL 改为 jdbc:h2:~/mem:test 也是可以的。如果是localhost必须启动服务。
分享到:
相关推荐
《H2View:一款个人开发的H2数据库可视化工具》 H2View是一款专为H2数据库设计的可视化工具,由个人开发者独立制作。虽然在使用过程中可能存在一些已知的bug,但其核心功能旨在帮助用户更直观地管理和操作H2数据库...
H2Database是一款轻量级、高性能的开源关系型数据库,广泛应用于嵌入式系统和测试环境。它提供了丰富的SQL支持,包括聚合函数,使得在处理大量数据时能够进行高效的统计和分析。本文档将深入探讨H2Database的聚合...
总结来说,这个“用Swing做的H2的管理器”是一款利用Java Swing库创建的,专为H2数据库设计的可视化管理工具,它简化了数据库操作,提升了用户交互体验,是学习Java GUI编程和数据库管理的一个实用案例。
5. **轻量级**:H2数据库的体积小,对硬件资源需求低,适合于资源有限的环境。 6. **强大的功能**:H2支持触发器、存储过程、视图、索引、事务等高级数据库特性,以及全文搜索、空间数据类型等扩展功能。 7. **跨...
此外,项目采用了内嵌式H2数据库存储数据,前端则使用了基本的Vue.js框架来交互和展示数据库中的信息。 首先,让我们深入了解一下登录注册功能。在Web应用中,这是一个核心模块,允许用户创建账户并安全地访问特定...
总的来说,这个基于yasenagat的ZkWeb版本为ZooKeeper管理员提供了一个直观的图形界面,简化了操作流程,并且通过集成H2数据库提高了用户体验。如果你在ZooKeeper集群的运维中遇到困难,或者想要学习如何通过Web界面...
`h2database-version-2.2.224.jar`是核心库文件,用于运行H2数据库。`说明.htm`则包含了详细的使用指南和API文档,是快速上手的重要参考资料。 4. **创建数据库** 使用Java API或者命令行工具,可以轻松创建数据库...
当数据请求到达时,首先从Ehcache中查找,如果缓存中没有,则从H2数据库中获取,并将结果放入缓存中,以备后续请求使用。这种架构有助于减少对数据库的直接访问,提高系统的整体性能和响应速度。 总结,Ehcache是...
4. **H2数据库**:H2是开源的、完全免费的,可以嵌入到Java应用程序中运行,也可以作为独立服务器模式。它的速度极快,适合开发阶段的快速数据存储和查询,同时也支持多种数据库模式,如MySQL和Oracle。 5. **Web...
整合Spring Boot与H2数据库提供了快速、便捷的开发体验,尤其适合开发和测试环境。通过自动配置和内嵌的H2控制台,我们可以轻松管理数据库,并进行数据库迁移和测试。在实际项目中,利用H2的这些特性,可以显著提高...
【标题】"web_shop_phase1"是一个基于3层架构构建的购物网站项目,采用了一系列主流的IT技术,如Java、JavaScript、Apache Tomcat服务器以及H2数据库。这个项目旨在为学习者提供一个实践Web应用程序开发的平台,通过...
在数据库方面,积木报表免安装数据库版内置了H2数据库引擎。H2是一款轻量级、高性能的关系型数据库,它支持多种数据库模式,包括单用户模式、客户端/服务器模式以及分布式模式。由于H2是Java编写,因此它可以嵌入到...
可能使用了如SQLite或H2等轻量级数据库,它们不需要单独的服务器进程,可以直接嵌入到JAVA应用中。 3. **图形界面(GUI)**:GUI是用户与软件交互的主要方式,这里可能使用了Swing或JavaFX库来创建窗口、按钮、...
9. **数据缓存**: 为了提高用户体验,框架可能还支持数据缓存机制,如LruCache或使用内存数据库(如H2)。这样可以快速获取最近使用过的数据,减少不必要的磁盘I/O。 10. **数据库安全**: 安全性是任何数据库系统的...
总结来说,这款基于SpringBoot和H2数据库的周报工具,通过模板管理和富文本编辑功能,为用户带来了高效、便捷的周报撰写体验。其简洁的设计和强大的功能,不仅优化了工作效率,也提升了团队协作的流畅度。对于开发者...
描述中提到,“一个精致的微信小程序源码,简单易用,易于学习交流和部署”,这表明该组件的设计和实现注重用户体验,不仅对开发者友好,便于理解和修改,而且对最终用户也友好,操作简单。此外,通过“有问题可以私...
在两个单独的终端中运行以下命令,以创建愉悦的开发体验,当硬盘驱动器上的文件更改时,浏览器会自动刷新。 ./gradlewyarn start 还用于管理此应用程序中使用CSS和JavaScript依赖项。 您可以通过在指定较新的版本来
Response.Write "<div class='slide'><a href='" & link & "'><img src='" & img_url & "' alt='" & title & "'><h2>" & title & "</h2><p>" & description & "</p></a></div>" rs.MoveNext Loop End If rs....
本示例主要讲解了如何使用JSP(JavaServer Pages)结合数据库实现一个简单的用户登录功能。...此外,为了提高用户体验,可以添加错误处理和反馈机制,比如显示具体的错误信息,或者在登录失败时给出更明确的提示。
该方案利用Web开发技术及Nami后台配合H2数据库,实现了用户登录、在线点餐、订单生成、用户评论和投诉等一系列功能。 #### 关键技术与应用 ##### 1. 微信小程序 - **简介**: 微信小程序是一种无需下载安装即可...