`
同心牵手
  • 浏览: 3930 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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.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.zip h2数据库可视化工具,个人开发,bug有点多,请见谅

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

    H2Database.rar_H2Database聚合函数_H2数据库函数||_h2数据库修改

    H2Database是一款轻量级、高性能的开源关系型数据库,广泛应用于嵌入式系统和测试环境。它提供了丰富的SQL支持,包括聚合函数,使得在处理大量数据时能够进行高效的统计和分析。本文档将深入探讨H2Database的聚合...

    用Swing做的H2的管理器

    总结来说,这个“用Swing做的H2的管理器”是一款利用Java Swing库创建的,专为H2数据库设计的可视化管理工具,它简化了数据库操作,提升了用户交互体验,是学习Java GUI编程和数据库管理的一个实用案例。

    内存数据库h2database(h2-2008-11-07)

    5. **轻量级**:H2数据库的体积小,对硬件资源需求低,适合于资源有限的环境。 6. **强大的功能**:H2支持触发器、存储过程、视图、索引、事务等高级数据库特性,以及全文搜索、空间数据类型等扩展功能。 7. **跨...

    javaWeb/java源码 介绍 登录注册功能以实现,包括Cookie和Session 使用内嵌式H2数据库 使用基本

    此外,项目采用了内嵌式H2数据库存储数据,前端则使用了基本的Vue.js框架来交互和展示数据库中的信息。 首先,让我们深入了解一下登录注册功能。在Web应用中,这是一个核心模块,允许用户创建账户并安全地访问特定...

    zookeeper web管理和监控界面,使用内置的H2数据库,此版本基于淘宝大神yasenagat的zkWeb源码.zip

    总的来说,这个基于yasenagat的ZkWeb版本为ZooKeeper管理员提供了一个直观的图形界面,简化了操作流程,并且通过集成H2数据库提高了用户体验。如果你在ZooKeeper集群的运维中遇到困难,或者想要学习如何通过Web界面...

    h2database嵌入式数据库引擎 v2.2.224.zip

    `h2database-version-2.2.224.jar`是核心库文件,用于运行H2数据库。`说明.htm`则包含了详细的使用指南和API文档,是快速上手的重要参考资料。 4. **创建数据库** 使用Java API或者命令行工具,可以轻松创建数据库...

    ehcache和h2 database资料

    当数据请求到达时,首先从Ehcache中查找,如果缓存中没有,则从H2数据库中获取,并将结果放入缓存中,以备后续请求使用。这种架构有助于减少对数据库的直接访问,提高系统的整体性能和响应速度。 总结,Ehcache是...

    Web版的数据库管理工具

    4. **H2数据库**:H2是开源的、完全免费的,可以嵌入到Java应用程序中运行,也可以作为独立服务器模式。它的速度极快,适合开发阶段的快速数据存储和查询,同时也支持多种数据库模式,如MySQL和Oracle。 5. **Web...

    spring-boot-h2:内存数据库中的Spring Boot和H2

    整合Spring Boot与H2数据库提供了快速、便捷的开发体验,尤其适合开发和测试环境。通过自动配置和内嵌的H2控制台,我们可以轻松管理数据库,并进行数据库迁移和测试。在实际项目中,利用H2的这些特性,可以显著提高...

    web_shop_phase1:使用3层架构设计了一个购物网站。 使用Java,JavaScript,Apache Tomcat,H2数据库等技术来实现它

    【标题】"web_shop_phase1"是一个基于3层架构构建的购物网站项目,采用了一系列主流的IT技术,如Java、JavaScript、Apache Tomcat服务器以及H2数据库。这个项目旨在为学习者提供一个实践Web应用程序开发的平台,通过...

    积木报表免安装数据库版

    在数据库方面,积木报表免安装数据库版内置了H2数据库引擎。H2是一款轻量级、高性能的关系型数据库,它支持多种数据库模式,包括单用户模式、客户端/服务器模式以及分布式模式。由于H2是Java编写,因此它可以嵌入到...

    JAVA 小数据库实例

    可能使用了如SQLite或H2等轻量级数据库,它们不需要单独的服务器进程,可以直接嵌入到JAVA应用中。 3. **图形界面(GUI)**:GUI是用户与软件交互的主要方式,这里可能使用了Swing或JavaFX库来创建窗口、按钮、...

    android数据库框架

    9. **数据缓存**: 为了提高用户体验,框架可能还支持数据缓存机制,如LruCache或使用内存数据库(如H2)。这样可以快速获取最近使用过的数据,减少不必要的磁盘I/O。 10. **数据库安全**: 安全性是任何数据库系统的...

    周报工具-可添加模板

    总结来说,这款基于SpringBoot和H2数据库的周报工具,通过模板管理和富文本编辑功能,为用户带来了高效、便捷的周报撰写体验。其简洁的设计和强大的功能,不仅优化了工作效率,也提升了团队协作的流畅度。对于开发者...

    用于微信小程序的HTML和Markdown格式的富文本渲染组件,支持代码高亮.zip

    描述中提到,“一个精致的微信小程序源码,简单易用,易于学习交流和部署”,这表明该组件的设计和实现注重用户体验,不仅对开发者友好,便于理解和修改,而且对最终用户也友好,操作简单。此外,通过“有问题可以私...

    apitracker:在H2数据库中使用Spring Actuator跟踪REST调用

    在两个单独的终端中运行以下命令,以创建愉悦的开发体验,当硬盘驱动器上的文件更改时,浏览器会自动刷新。 ./gradlewyarn start 还用于管理此应用程序中使用CSS和JavaScript依赖项。 您可以通过在指定较新的版本来

    asp动态幻灯数据库中读取

    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基于数据库完成用户登陆程序

    本示例主要讲解了如何使用JSP(JavaServer Pages)结合数据库实现一个简单的用户登录功能。...此外,为了提高用户体验,可以添加错误处理和反馈机制,比如显示具体的错误信息,或者在登录失败时给出更明确的提示。

    基于微信小程序的点餐系统【论文】.docx

    该方案利用Web开发技术及Nami后台配合H2数据库,实现了用户登录、在线点餐、订单生成、用户评论和投诉等一系列功能。 #### 关键技术与应用 ##### 1. 微信小程序 - **简介**: 微信小程序是一种无需下载安装即可...

Global site tag (gtag.js) - Google Analytics