`
雪馨25
  • 浏览: 129577 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

结合HSQLDB测试hibernate实例

阅读更多

一、数据库结构

 

createtable User (
idinteger not null,
namevarchar(255),
passvarchar(255),     
primarykey (id)
)


二、建立测试实例

 

1 新建普通java项目

2 项目下新建lib文件夹(放置引用jar包)

3、db(放置hsqlDB的数据库文件)文件夹

4 解压hibernate文件夹,将hibernate-release-4.0.1.Final\lib\required目录下的jar文件拷贝到项目的lib下,将hsqldb.jar(下载地址http://hsqldb.org/)拷贝到lib目录下,并引入到工程

(3、4也可建立用户库,再引入项目)

5 、 项目Src 目录下hibernate建立连接数据库的配置文件 hibernate.cfg.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration
   PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
   "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<!-- 是否将运行期生成的SQL输出到日志以供调试 -->
		<property name="show_sql">true</property>
		<!-- SQL方言,这里设定的是HSQL -->
		<property name="dialect">org.hibernate.dialect.HSQLDialect</property>
		<!-- JDBC驱动程序 -->
		<property name="connection.driver_class">org.hsqldb.jdbcDriver
		</property>
		<!-- JDBC URL,User为数据库名 ; hsqldb.write_delay=false持久化 -->
		<property name="connection.url"> jdbc:hsqldb:file:./db/User;hsqldb.write_delay=true
		</property>
		<!-- 设置数据库中的表用hibernate自动建立,一般不需要不断重新建表 -->
		<property name="hibernate.hbm2ddl.auto">create</property>
		<!-- 数据库用户名 -->
		<property name="connection.username">sa</property>
		<!-- 数据库密码 -->
		<property name="connection.password"></property>
		<!-- 指定User的映射文件,这个地方应该在建立文件后添加到此处 -->
		<mapping resource="com/hibernate/test/User.hbm.xml
" />
	</session-factory>
</hibernate-configuration>

 

6 新建包:com.hibernate.test以及包下的实体类 user.java .实体通数据库映射文件 User.hbm.xml 、测试类 Test.java

7 实体类属性要同数据库字段名称相同,并有set和get方法

 

public class User {
	private long id;
	private String name;
	private String pass;
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPass() {
		return pass;
	}
	public void setPass(String pass) {
		this.pass = pass;
	}	
}


8 实体类数据库映射文件一般以实体类名.hbm.xml命名:内容

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">   
<hibernate-mapping>
   <class name="com.hibernate.test.User
" table="User">
       <id name="id">
           <generator class="increment"/>
       </id>
       <property name="name"/>
       <property name="pass" />   
   </class>
</hibernate-mapping>

 

9、.hbm.xml中对应的实体类位置要写正确

<class name="com.hibernate.test.User " table="User">

 

10 User.hbm.xml 添加到hibernate.cfg.xml中:使用全路径(包括包名)

<!-- 指定User的映射文件,这个地方应该在建立文件后添加到此处 -->

<mapping resource="com/hibernate/test/User.hbm.xml " />

11 建立测试文件Test.java

public class Test {
     public static void main(String[] args) {
      try {
       SessionFactory sf = new Configuration().configure()
         .buildSessionFactory();
       Session session = sf.openSession();
       Transaction tx = session.beginTransaction();
    	   User user = new User();
    	   user.setName("李雷");
    	   user.setPass("123456");
    	   session.save(user);
       tx.commit();
       session.close();
      
      } catch (HibernateException e) {
       e.printStackTrace();
      }
     }
    }

 

12 、正确 执行程序

三、查看hsqdb数据库数据

开始---->运行----->cmd

 

命令行输入:java -jar hsqldb所在全路径 \lib\hsqldb.jar

回车

弹出界面如下填写

连接成功界面如下

选中PUBLIC.USER右键,选择SELECT * FROM "PUBLIC"."USER",然后选择“Execute SQL”,查看执行结果

备注:

1、hibernate版本:hibernate-release-4.0.1.Final

2、hsqldb版本:hsqldb-2.2.8.zip

分享到:
评论

相关推荐

    hsqldb整合hibernate

    本项目是基于Myeclipse 6.5开发的一个实例,它展示了如何将HSQldb与Hibernate整合,以便在内存中进行快速、便捷的数据操作。下面将详细解析这一整合过程的关键步骤和知识点。 ### 1. 设置环境 首先,你需要在项目...

    spring+hibernate代码实例集

    在这个实例集中,Maven被用来下载和管理Spring、Hibernate以及HSQLDB等依赖库,简化项目的构建过程。 4.2 HSQLDB是一个内存型的关系数据库,常用于测试。在Spring与Hibernate的集成测试中,HSQLDB可以快速启动,...

    Hibernate配置文件在单元测试中的应用

    在进行单元测试时,正确配置Hibernate可以帮助我们创建独立、可靠的测试用例。本篇文章将详细探讨Hibernate配置文件在单元测试中的应用。 首先,我们需要理解什么是单元测试。单元测试是针对程序模块的最小可测试...

    JUnit(针对spring和hibernate)

    在结合Spring和Hibernate进行测试时,有几种常见的测试策略: 1. **单元测试**:专注于单一的函数或方法,通常不涉及数据库交互。你可以使用`@DataJpaTest`或`@WebMvcTest`来专注于特定的Spring组件,如JPA或MVC。 ...

    junit学习(十)——Springpring与Hibernate整合的单元测试

    控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)框架,以及Hibernate作为强大的ORM(Object-Relational Mapping,对象关系映射)工具,它们在实际项目中的结合使用需要经过适当的测试才能保证稳定...

    Struts2+hibernate所需的包文件

    - **集成测试**:模拟实际环境测试整个流程,如Struts2的MockMVC测试和Hibernate的HSQLDB内存数据库测试。 6. **最佳实践**: - **分离关注点**:将视图、控制和数据访问层分开,提高代码可维护性。 - **遵循...

    hibernate连接各种数据库的方法

    HSQLDB是一个轻量级的内嵌式数据库,适合测试环境使用。 ###### 3.2.2 MySQL ```xml &lt;property name="hibernate.dialect"&gt;org.hibernate.dialect.MySQLDialect &lt;property name="hibernate.connection.driver_class...

    livebookstore-with-hsqldb-1.0.zip

    "livebookstore-with-hsqldb-1.0.zip" 是一个包含此类系统的压缩包,它利用了Spring 2.0框架、UML建模语言以及SSH(Struts、Spring、Hibernate)技术栈,同时还集成了轻量级数据库HSQldb。这个项目为我们提供了深入...

    hibernate入门教程

    瞬态对象是指刚被实例化且还未被Hibernate管理的新对象,它们还没有与任何Hibernate Session关联;持久化对象是指被当前Hibernate Session管理的对象,它们的状态与数据库中的记录同步;游离对象是指曾经是持久化...

    Integration-Test-With-HSQLDB

    总的来说,集成测试结合HSQLDB、Junit和Hibernate,能够有效地验证Java应用的数据访问层和业务逻辑,确保代码质量,并减少因数据库操作导致的测试复杂性。在实践中,这样的测试策略可以帮助开发者发现和修复问题,...

    Hibernate面试题-详尽解析

    ### Hibernate面试题详解 ...以上内容仅为Hibernate面试题的部分详解,更多细节及深入理解还需要结合具体项目实践和个人学习。希望这些解答能够帮助您更好地准备面试,同时也能够加深对Hibernate框架的理解。

    Hibernate Developer Guide

    - 使用命令行工具:`java -jar hibernate-tools-X.Y.Z.jar hbm2ddl -db hsqldb -dialect org.hibernate.dialect.HSQLDialect -input hibernate-mapping.hbm.xml` - 通过编程方式调用。 #### 四、事务和并发控制 ...

    spring3.2 hibernate4 demo CRUD 完整例子

    Hibernate 4在Spring 3.2的基础上,提供了更高效的性能和更多的功能,如二进制列支持、JPA 2.1规范的实现以及对HSQLDB内存数据库的增强。 在这个CRUD演示中,我们将会看到以下几个关键组件: 1. **配置**:包括...

    J2EE企业级项目开发-1期 05 hibernate二级缓存实战经验.doc

    测试使用了Hibernate的核心库版本3.3.2.GA和Hibernate的注解库版本3.4.0.GA,以及HSQLDB内存数据库。这种配置允许快速地进行单元测试,因为HSQLDB在内存中运行,启动速度快,且易于管理。 **测试案例** 1. **...

    ProjetoI:使用 Maven、HSQLDB、JPA 和 Hibernate 在博客上实现 JSF

    【标题】"ProjetoI:使用 Maven、HSQLDB、JPA 和 Hibernate 在博客上实现 JSF" 是一个综合性的 Java 项目,旨在演示如何利用这些技术构建一个功能齐全的博客系统。在这个项目中,开发者将学习到如何整合不同的开源...

    java上万个实例源代码例子 链接搜集

    Hibernate实例源代码详解 ##### (1) 更新操作 - **链接**: `http://www.java2java.com/CN/Tutorial/Java/0350__Hibernate/0060__Update.htm` - **说明**: 此实例展示了如何使用Hibernate执行更新操作。包括修改...

    junit测试demo

    总的来说,这个“junit测试demo”提供了一个了解和学习如何在纯Java环境和SSH环境下进行单元测试的实例。通过分析和实践这些测试用例,开发者可以更好地掌握JUnit的使用,以及在实际项目中进行有效测试的方法。

    Extjs经典实例(附加数据库sqlserver2005)

    【标题】"Extjs经典实例(附加数据库sqlserver2005)" 是一个结合了Extjs前端框架和SQL Server 2005后端数据库的项目实例,它展示了如何在Web应用中有效地使用这两项技术。Extjs是一个强大的JavaScript库,用于构建...

Global site tag (gtag.js) - Google Analytics