H2数据库
来源:互联网 发布:三菱伺服产品选型软件 编辑:程序博客网 时间:2024/04/28 15:55
1. 什么是H2数据库
H2数据库是用java代码编写的免费开源的内存型数据库,H2数据库具有的特点如下:
免费、开源、快速;
嵌入式的数据库服务器,支持集群
提供JDBC、ODBC访问接口,提供基于浏览器的控制台管理程序
Java编写,可使用GCJ和IKVM.NET编译
短小精干的软件,1M左右
和其它的数据库相比较
和其它的内存数据库相比较
2. 资源链接
H2官网地址
- H2 Database Engine
H2的demo下载地址
- H2
H2的官方参考文档
h2数据库的安装包是默认自带参考文档的,该文档就在安装目录下的docs文件夹下。
3. 浏览器客户端的使用
h2的数据库安装比较的简单,这里我就不做过多的介绍,在安装完成后,点击【开始】菜单中的H2的Console菜单,打开h2的控制台窗口,如下图所示:
在该窗口打开的同时,浏览器也会相应的打开网页版的H2数据库连接界面,如下所示:
在该界面中,我们没必要做任何修改操作,直接点击【测试链接】按钮,看看在测试中是否会连接成功。如果测试成功,在页面下方会出现相应的连接成功提示信息
连接测试成功后,点击【连接】按钮,以此来完成数据库的登录操作。
登录后的界面如下所示:
H2的浏览器客户端的使用非常的简单,由于H2数据库的语法是高度类似于MySQL的,所以说只要是懂得使用MySQL的人都能很容易的上手,除此之外,H2数据库还提供了操作的SQL语言样例,该样例就在登录H2浏览器客户端的主页面下方有提供,如下:
直接复制该区域中的SQL语句,并将其粘贴到【执行】下的文本域中,点击【执行】按钮即可。
4. 连接数据库驱动
连接的代码如下:
package com.lyc;import org.apache.log4j.Logger;import org.junit.Test;import java.sql.*;/** * Created by HP on 2017/9/10. */public class TestH2Connection { private static final Logger log = Logger.getLogger(TestH2Connection.class); @Test public void testH2Connection() throws ClassNotFoundException, SQLException { Class.forName("org.h2.Driver"); Connection conn = DriverManager.getConnection("jdbc:h2:~/test", "sa", ""); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM TEST "); while(rs.next()) { log.info("ID:" + rs.getInt("ID") + "," + "NAME:" + rs.getString("NAME")); } rs.close(); stmt.close(); conn.close(); }}
上述的代码在我的H2的demo中有,直接将该项目下载下来在本地运行即可。
5. 连接数据库连接池
连接数据库连接池的代码如下:
package com.lyc;import org.apache.log4j.Logger;import org.h2.jdbcx.JdbcConnectionPool;import org.junit.Test;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * Created by HP on 2017/9/10. */public class TestH2JdbcConnectionPool { private static final Logger log = Logger.getLogger(TestH2JdbcConnectionPool.class); @Test public void testH2JdbcConnectionPool() throws SQLException { JdbcConnectionPool cp = JdbcConnectionPool.create( "jdbc:h2:~/test", "sa", ""); /*for (String sql : args) { Connection conn = cp.getConnection(); conn.createStatement().execute(sql); conn.close(); } */ Connection conn = cp.getConnection(); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM TEST "); while(rs.next()) { log.info("ID:" + rs.getInt("ID") + "," + "NAME:" + rs.getString("NAME")); } rs.close(); stmt.close(); conn.close(); cp.dispose(); }}
在连接数据库时,官方的推荐是采用第二种,也就是采用数据库连接池的方式进行的连接,因为这样做的好处是连接速度比较快,比传统的连接方式要快上至少2倍。
- H2数据库
- H2 数据库
- h2 数据库
- H2数据库
- h2 数据库
- H2 数据库
- h2 数据库
- H2数据库
- H2数据库
- H2数据库攻略之二-应用H2
- H2 数据库使用 demo
- H2数据库使用
- h2数据库基本操作
- H2数据库启动方式
- H2数据库入门例子
- h2 数据库时间比较
- h2数据库创建表
- 创建h2数据库表
- 物体检测网络概述
- imooc-c++之启航篇
- 三十四
- 走近RDD
- (十八)事件分发-源码分析
- H2数据库
- [IOS笔记]UIScrollView代理——自己代理和任何oc对象
- CSS图片下面产生间隙的6种解决方案
- 请大家帮帮我
- Qt5.8使用windeployqt及enigma virtual box 找出依赖项并打包发布
- 一个零售商店的内部客户和外部客户可能有哪些人
- 模型评估——定量分析预测的质量
- 2017.09.08京东校招C/C++编程题-疯狂的序列
- Window.Event.KeyCode含义