H2数据库使用

H2数据库说明 H2是一个文本数据库,你可以引用到自己的项目中,或在电脑上直接使用。好处在于不需要像Oracle或Mysql那样要安装软件,而且是轻量的。H2在使用时,只要引入h2*.jar文件,并指明JDBC驱动:org.h2.Driver,还有就是数据库的路径即可。H2在项目中使用时,你可以看作H2有一个服务平台,将你的项目web端和H2数据库连接起来。电脑上使用H2...
摘要由CSDN通过智能技术生成

H2数据库说明

     H2是一个文本数据库,你可以引用到自己的项目中,或在电脑上直接使用。好处在于不需要像Oracle或Mysql那样要安装软件,而且是轻量的。H2在使用时,只要引入h2*.jar文件,并指明JDBC驱动:org.h2.Driver,还有就是数据库的路径即可。H2在项目中使用时,你可以看作H2有一个服务平台,将你的项目web端和H2数据库连接起来。

 

电脑上使用H2

首先,在电脑上使用H2时,需要到官网上下载安装包http://www.h2database.com/html/main.html。下载All Platforms (zip, 8 MB)的文件。解压之后,你就可以看到如下的文件:

其次,如果是windows系统,点击bin目录下的h2.bat或h2w.bat都可以, 如果是linux系统,者执行 sh h2.sh.笔者是在自己的windows系统上运行,所以双击h2w.bat后,在电脑的右下角可以看到这个图标。,同时会弹出浏览器的登录窗口。访问的地址是:http://192.168.111.1:8082/login.jsp?jsessionid=d3de299ee67f8926edc84ffda951e248

注意,在测试的情况下,JDBC URL的路径最后要写上test.上图是笔者自己指定了数据库文件所放置的位置,所以写上了具体的路径,其实读者也可以直接写上jdbc:h2: test。test的密码都是sa。点击Connect,你将会看到如下的页面。

好了在上面的页面中,你就可以写上自己的SQL语句了。但是H2有好多在Oracle或Mysq中常用的函数是没有的,这样在开发中可能会带来麻烦。

 

项目中使用H2

  以上只是笔者简单的对H2的使用,也只能说是带读者入门吧。如果想要了解更多H2的使用,可到官网上找资料,或下载使用文档http://www.h2database.com/h2.pdf

  1. 项目中使用H2,需要引入h2*.jar。这就好比在Oracle和Mysql中引入相应的jar文件是一样的。但是H2不需要在电脑上安装任何的软件,除非你是要在浏览器中使用,那就需要上面介绍的那样了。
  2. 在项目中创建一个类,名为H2ConnectionPool,这个是连接池的方法。在连接池中你需要指名H2数据库文本所要放置的路径,一般在项目中都是直接写上:"jdbc:h2:~/test”,这是说明放置到项目的同等路径下。笔者为了项目中好查看数据库的数据,所以指明子路径是:E:/workspace/SelfMonitor/SelfMonitor/data/test。还有需要注意的是,在同一电脑上,只能有一个H2是开着,也就是说如果你用h2w.bat启用了H2,而在项目中还想使用h2,这是不请允许的,项目启动或浏览器连接都会报在使用中。另外,在项目中可能会有多个线程在操作数据库,有时候会引起线程使用上的冲突,即一个线程在连接数据库后关闭,导致另一个线程在使用时出现异常。在这种的情况下,你需要加上MVCC=TRUE的设置。代码如下。
      package com.owen.h2.database2;
    
    import java.sql.Connection;
    import java.sql.SQLException;
    
    import org.h2.jdbcx.JdbcConnectionPool;
    
    /**
     *H2数据库操作
     * 
     * @author owen
     * @DATE 20190228
     *
     */
    public class H2ConnectionPool
    {
    
    	private static H2ConnectionPool cp = null;
    	private JdbcConnectionPool jdbcCP = null;
    
    	private H2ConnectionPool()
    	{
    		String dbPath = "E:/workspace/SelfMonitor/SelfMon
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 Liquibase 管理 H2 数据库需要以下步骤: 1. 首先,需要在项目中添加 H2 数据库和 Liquibase 的支持。可以使用 Maven 或 Gradle 等构建工具来添加这些依赖项。 2. 然后,在项目中创建一个 Liquibase 的配置文件,例如 `liquibase.properties` 或者 `liquibase.yml`,并指定数据库连接信息、change log 文件等相关信息。 3. 在 `change log` 文件中,可以使用 Liquibase 的语法来定义数据库的 schema 和数据。例如,可以使用 `createTable` 来创建表,使用 `addColumn` 来添加列,使用 `insert` 来插入数据等。 4. 最后,在项目启动时,可以使用 Liquibase 的 API 来执行 change log 文件,并更新数据库的 schema 和数据。可以通过命令行或者 Java 代码来执行 Liquibase。 下面是一个示例 `liquibase.properties` 文件的内容: ``` driver: org.h2.Driver classpath: path/to/h2.jar url: jdbc:h2:mem:test username: sa password: changeLogFile: path/to/changelog.xml ``` 其中,`driver`、`classpath`、`url`、`username`、`password` 分别指定了数据库连接信息,`changeLogFile` 指定了 change log 文件的位置。 下面是一个示例 `changelog.xml` 文件的内容: ```xml <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd"> <changeSet id="1" author="me"> <createTable tableName="person"> <column name="id" type="INT"> <constraints primaryKey="true" nullable="false"/> </column> <column name="name" type="VARCHAR(50)"> <constraints nullable="false"/> </column> <column name="age" type="INT"> <constraints nullable="true"/> </column> </createTable> </changeSet> <changeSet id="2" author="me"> <insert tableName="person"> <column name="id" value="1"/> <column name="name" value="John"/> <column name="age" value="30"/> </insert> <insert tableName="person"> <column name="id" value="2"/> <column name="name" value="Jane"/> <column name="age" value="25"/> </insert> </changeSet> </databaseChangeLog> ``` 其中,`changeSet` 标签用于表示一个变更集,`createTable` 标签用于创建表,`insert` 标签用于插入数据。 使用 Liquibase 可以方便地管理 H2 数据库的 schema 和数据,同时也可以兼容其他数据库。在实际开发中,可以根据具体需求来使用 Liquibase 的不同功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值