H2数据库如何退出来,h2数据库和sqlite
上篇文章简单介绍H2数据库如何退出来了数据库,本篇文章我们就介绍一下具体的一款关系数据库,它就是H2Database(下面简称为H2)。大家可以到它的官网(http://www.h2database.com/html/main.html)上去看看它有哪些特性,它是如何使用的等等。
事实上,我们每次需要使用新的技术、框架、工具等,都应该到其官网上去查阅或下载其相关资料、库、可运行软件等。因为官网提供的东西肯定是最权威最全面的,不过,可能大部分都是英文的,英文水平需要过硬才行。
H2下载我们打开H2的官网:
H2的官网其实挺简洁的,点击红色箭头所指的链接即可下载H2。
H2的使用模式事实上,H2如果使用嵌入式模式的话,并不需要安装独立的数据库服务器(即DBMS),相当于,它的DBMS只是一个可被应用程序调用的组件:
图片来自官网
而H2的服务器模式需要安装一个所谓的控制台(即DBMS),应用程序需要与H2服务器进行远程通信来访问和管理数据库:
图片来自官网
H2的特性官网中写的明明白白了,我就不再赘述,让读者朋友们厌烦了啊:)
H2安装一般软件开发流程中,在开发阶段往往需要单元测试,或简单的验证,所以越简单是越好,如果还要先安装或部署一个独立的数据库服务器那就太费劲了。
所以,我们就采用H2的嵌入式模式吧。
既然如此,前面介绍了H2的嵌入式模式实际上就是一个被应用程序调用的组件,因此也就谈不上什么安装了,只要在你的工程中添加这个组件的JAR包即可。
不过,我们上面下载的是一个ZIP压缩包,先解压看看里面有什么吧,解压出来就是一个叫h2的文件夹,里面又有:
进入到bin目录里面就可以看到有一个JAR包了,下面就可以把这个JAR包添加到我们的工程中了:
如果是Java工程,可以参考这篇文章,实际上可以不用先定义User Library,而是直接在Java Build Path中添加External JARs,当然使用User Library是为了更好管理JAR包,因为像Spring这样的框架包含的JAR包就多了;如果是Java Web工程,可以参考这篇文章。比如,我们可以先在Eclipse中建立一个Java工程,就叫h2db-test吧,直接添加External JARs之后是这样的:
H2验证现在我们直接写一个测试类,然后实现main() *** :
import java.sql.*;public class Test { public static void main(String[] args) throws SQLException { Connection conn = DriverManager.getConnection("jdbc:h2:~/h2db/test", "sa", ""); Statement statement = conn.createStatement(); statement.execute("drop table if exists user_table"); statement.execute("create table user_table(id integer primary key, name varchar(100), sex varchar(2))"); statement.executeUpdate("insert into user_table values(1, '张三', '男') "); statement.executeUpdate("insert into user_table values(2, '李四', '女') "); ResultSet resultSet = statement.executeQuery("select * from user_table"); while (resultSet.next()) { System.out.println(resultSet.getInt("id") + ", " + resultSet.getString("name") + ", " + resultSet.getString("sex")); } statement.close(); conn.close(); }}代码的大体的意思也很明白,就是连接到H2数据库之后,先创建一个user_table表,然后使用SQL中的insert语句添加了两条记录,后面又使用select语句从该表中读取出所有记录并打印出来。
代码中使用的Connection、Statement、ResultSet等,其实就是JDBC中的接口。
大家可以自行试试,应该没有什么问题。
添加依赖库的重复性到这里,我们再次遇到依赖库的:
寻找(有时需要考虑版本)下载添加到工程这么一个重复的过程(之前是Spring)。
根据消除重复的思维,我们应该把这种重复性劳动交给计算机,我们只需告诉它我要下载哪个依赖库,哪个版本。
问题是,我们需要为此开发一个这种软件/程序。不用担心,已经由巨人们帮我们开发出了类似的软件,可以称之为项目管理软件,比如Maven。
事实上,此类软件往往不只是管理依赖库的下载和配置,这只是开发中需要做的,还涉及项目的构建、测试、打包、部署等重复性劳动,所以叫此类软件项目构建工具更合适一些。
所以,后面我们使用Maven来消除这种重复性劳动吧。
总结尽量到官网寻找资料;经常使用消除重复思维;H2Database是纯Java的关系数据库;H2Database支持嵌入式模式、内存模式、服务器模式。