`

H2 Database Engine

阅读更多

H2 Database Engine

http://www.h2database.com/html/main.html

 

一個小型的database,可以跟著你的project跑,不用安裝一堆資料庫。

 

使用步驟:

 

1. JAR檔:c:\Program Files\H2\bin\h2.jar

 

2. web.xml設定:

    在web.xml加入下面的code,就可以使用http://localhost:8080/console連到它的console了。

	<!-- 
		H2-DB的設定
	 -->
	<listener>
		<listener-class>org.h2.server.web.DbStarter</listener-class>
	</listener>

	<context-param>
		<param-name>db.url</param-name>
		<!--
			<param-value>jdbc:h2:dbdata/test</param-value>會出現在eclipse\dbdata下面
		-->
		<!-- <param-value>jdbc:h2:/dbdata/test</param-value>會出現在d:\dbdata下面 -->
		<param-value>jdbc:h2:/workspace/TWM/H2Sample/dbdata/mycv</param-value>
	</context-param>
	<context-param>
		<param-name>db.user</param-name>
		<param-value>sa</param-value>
	</context-param>
	<context-param>
		<param-name>db.password</param-name>
		<param-value>sa</param-value>
	</context-param>
	<context-param>
		<param-name>db.tcpServer</param-name>
		<param-value>-tcpAllowOthers</param-value>
	</context-param>

	<servlet>
		<servlet-name>H2Console</servlet-name>
		<servlet-class>org.h2.server.web.WebServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>H2Console</servlet-name>
		<url-pattern>/console/*</url-pattern>
	</servlet-mapping>

 3. Connection、JdbcDataSource and JdbcConnectionPool:

     根據官方的說法,其實是不需用到DataSource的,應為它用JDBC的方式取Connection已經很快了~~

	static private String url = "jdbc:h2:/workspace/TWM/H2Sample/dbdata/mycv";
	static private String user = "sa";
	static private String password = "sa";
	
	static private JdbcDataSource jdbcDataSource = null; 
	static private JdbcConnectionPool jdbcConnectionPool = null;
	static public Connection conn = null;
	
	static {
		logger.info("DBUtil init JdbcConnectionPool..");
		jdbcDataSource = new JdbcDataSource();
		jdbcDataSource.setURL(url);
		jdbcDataSource.setUser(user);
		jdbcDataSource.setPassword(password);
		jdbcConnectionPool = JdbcConnectionPool.create(jdbcDataSource);
		logger.info("DBUtil init JdbcConnectionPool success.");
	}
	
	/**
	 * get connection by data source
	 * @return current connection
	 * @throws SQLException
	 */
	static public Connection getConnection() throws Exception{
		if(conn == null){
			// Class.forName("org.h2.Driver");
			// conn = DriverManager.getConnection(url, user, password);
			
			conn = jdbcConnectionPool.getConnection();
		}
		return conn;
	}

 4. Hibernate.cfg.xml

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.bytecode.use_reflection_optimizer">false</property>
        <property name="hibernate.connection.driver_class">org.h2.Driver</property>
        <property name="hibernate.connection.password">sa</property>
        <property name="hibernate.connection.url">jdbc:h2:/workspace/TWM/H2Sample/dbdata/mycv</property>
        <property name="hibernate.connection.username">sa</property>
        <property name="hibernate.dialect">org.hibernate.dialect.H2Dialect</property>
        
        <mapping resource="per/kirk/mycv/beans/Autobiography.hbm.xml" />
        <mapping resource="per/kirk/mycv/beans/Experience.hbm.xml" />
        <mapping resource="per/kirk/mycv/beans/Qualification.hbm.xml" />
        <mapping resource="per/kirk/mycv/beans/SchoolLevel.hbm.xml" />
        <mapping resource="per/kirk/mycv/beans/UserDetail.hbm.xml" />
    </session-factory>
</hibernate-configuration>

 

  • 若是資料庫不存在,就會動態的建立一個,而帳號密碼就是第一次設定的那個。
  • 若URL為jdbc:h2:~/test,~表示會將資料庫建立在你的HOME下面,像是c:\Documents and Settings\YOUR_NAME\
分享到:
评论
2 楼 gzcsschen 2012-04-16  
 <property name="hibernate.connection.url">jdbc:h2:/workspace/TWM/H2Sample/dbdata/mycv</property>  

这个会出现在你的电脑上那个位置创建数据库文件??
1 楼 gzcsschen 2012-04-15  
你好!我最近也在研究h2
就是想让它跟到我的工程跑。
但是我不知道配置hibernate的时候那个url怎么写
比如我项目的根路径不知道怎么写
你能帮忙讲解下吗??谢谢

相关推荐

    h2database Engine

    **H2 Database Engine详解** H2 Database Engine 是一个开源、高性能、轻量级的关系型数据库管理系统,主要用于嵌入式环境和开发测试。它的设计目标是提供简单易用、快速响应和高可移植性的数据库解决方案。在版本...

    H2 DataBase学习

    h2 database 是一个开源免费的Java SQL数据库 数据库分为嵌入式 Embedding 和Server模式 要使用embedding mode 需要做以下事情: 1 添加h2 jar到classpath中 2 使用jdbc驱动:org h2 Driver 3 jdbc数据库URL:jdbc:...

    h2-demos:Demos of H2 Database Engine. 有关 H2 数据库的示例

    Demos of H2 Database Engine. 有关 H2 数据库的示例. 本项目所有示例均使用 Maven 项目管理。 How to 如何使用 Checkout Demos 检出项目 git clone https://github.com/waylau/h2-demos.git import the Damos as a ...

    H2 Database Engine 1.2.132 (2010-03-21)以及配置说明

    配置说明在zip包内 &lt;servlet-name&gt;H2Console &lt;servlet-class&gt;org.h2.server.web.WebServlet &lt;servlet-name&gt;H2Console &lt;url-pattern&gt;/console/* &lt;/servlet-mapping&gt;

    h2 database pdf

    ### H2 Database Engine 特性与使用指南 #### 概述 H2 是一款轻量级、高性能且开源的关系型数据库管理系统(RDBMS),它支持标准的 SQL 语法,并且能够以嵌入式模式或者服务器模式运行。该数据库特别适用于开发测试...

    H2DB 参考手册(英文版)

    #### H2 Database Engine 概览 - **版本信息**:H2 Database Engine 当前版本为1.0.71,发布日期为2008年4月25日。 - **适用场景**:适用于小型内存数据库或缓存的应用场景。 - **性能优势**:据称相较于HSQLDB具有...

    Android代码-h2gis

    H2GIS is a spatial extension of the H2 database engine in the spirit of PostGIS. It adds support for managing spatial features and operations on the new Geometry type of H2, the Open Geospatial ...

    btm-tomcat55等所需jar包最全

    3. **H2 Database Engine**:`h2-1.3.168.jar`是H2数据库的实现库,H2是一个轻量级、高性能的关系型数据库,常用于开发测试环境或嵌入式应用。在BTM环境中,H2可能被用作事务日志存储或临时数据存储。 4. **JACC ...

    几个数据库jar包,看看能不能用到

    5. **H2 Database Engine**: H2是一个轻量级、开源的嵌入式SQL数据库,它的JDBC驱动程序是`h2-x.x.x.jar`。在测试和开发环境中,H2数据库经常被用作临时数据库。 6. **JDBC-ODBC Bridge**: 这是Java的标准部分,...

    JAVA各种驱动 用于连接数据库

    - H2 Database Engine JDBC Driver:H2是一个轻量级的开源数据库,其JDBC驱动便于在Java应用中嵌入使用。 4. 使用JDBC的基本步骤: - 加载驱动:Class.forName("com.mysql.jdbc.Driver"),或者在现代Java版本中,...

    DatabaseEngine:基本数据库引擎

    3. H2 Database:轻量级的嵌入式数据库,适合于测试和小型项目。 4. Oracle:商业级的关系型数据库,广泛应用于大型企业系统。 5. MongoDB:非关系型数据库(NoSQL),适用于大数据和高并发场景。 四、数据库引擎...

    《SQL数据库管理工具》(Richardson Software RazorSQL)v5.1.1/含注册机

    * Ships with a built-in relational database engine (HSQLDB) that is up and running out of the box and requires no end-user administration * A Generate DDL Tool for generating table, view, and index ...

    spring单元测试

    Spring Boot的`spring-boot-starter-test`模块包含了JUnit和Mockito等测试工具,而`h2database`依赖则允许我们在测试中使用H2内存数据库。 接下来,我们关注Spring单元测试的实施。在Spring中,我们可以使用`@Run...

    jira从HSQL迁移到MYSQL的方法

    本文将详细介绍如何从HSQL(HyperSQL Database Engine)迁移到MySQL的过程,确保数据完整性和系统稳定运行。 #### 一、准备工作 在开始迁移之前,请确保完成以下准备工作: 1. **备份当前HSQL数据库**:在进行...

    Activiti5.21依赖库

    6. **H2 Database**: `h2-1.3.176.jar` 是一个轻量级的嵌入式关系型数据库,常被用作开发和测试时的数据存储,Activiti可以配置使用H2来存储流程实例和相关数据。 7. **MyBatis**: `mybatis-3.3.0.jar` 是一个优秀...

    附件资料-SpringBoot-News

    runtimeOnly 'com.h2database:h2' testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } } ``` 这段代码引入了...

    本资源包含kettle连接几乎各种常见数据库所需jar包

    3. **JDBC**:Java Database Connectivity,是一种Java编程语言的标准接口,用于连接Java应用程序和各种类型的数据库,包括上述提到的MySQL、Oracle等。 【压缩包子文件的文件名称列表】中列出的JAR包详细说明: 1...

    Activiti 部署和开发

    &lt;groupId&gt;com.h2database&lt;/groupId&gt; &lt;artifactId&gt;h2 &lt;version&gt;1.3.172 ``` 4. **关联Activiti源码**: - 如果需要查看Activiti的源码,可以通过Eclipse的“Source Attachment”功能将本地的Activiti源代码...

    springcloud集成flowable6.5.0适配达梦数据库的模块

    3. 自定义配置:Flowable默认可能使用的是H2数据库,因此需要自定义配置类,覆盖默认的数据源,指定为达梦数据库的数据源。 4. 启动流程引擎:在Spring Boot启动时,通过配置类启动Flowable的流程引擎,这样在应用...

Global site tag (gtag.js) - Google Analytics