一、数据库结构
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
分享到:
相关推荐
本项目是基于Myeclipse 6.5开发的一个实例,它展示了如何将HSQldb与Hibernate整合,以便在内存中进行快速、便捷的数据操作。下面将详细解析这一整合过程的关键步骤和知识点。 ### 1. 设置环境 首先,你需要在项目...
在这个实例集中,Maven被用来下载和管理Spring、Hibernate以及HSQLDB等依赖库,简化项目的构建过程。 4.2 HSQLDB是一个内存型的关系数据库,常用于测试。在Spring与Hibernate的集成测试中,HSQLDB可以快速启动,...
在进行单元测试时,正确配置Hibernate可以帮助我们创建独立、可靠的测试用例。本篇文章将详细探讨Hibernate配置文件在单元测试中的应用。 首先,我们需要理解什么是单元测试。单元测试是针对程序模块的最小可测试...
在结合Spring和Hibernate进行测试时,有几种常见的测试策略: 1. **单元测试**:专注于单一的函数或方法,通常不涉及数据库交互。你可以使用`@DataJpaTest`或`@WebMvcTest`来专注于特定的Spring组件,如JPA或MVC。 ...
控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)框架,以及Hibernate作为强大的ORM(Object-Relational Mapping,对象关系映射)工具,它们在实际项目中的结合使用需要经过适当的测试才能保证稳定...
- **集成测试**:模拟实际环境测试整个流程,如Struts2的MockMVC测试和Hibernate的HSQLDB内存数据库测试。 6. **最佳实践**: - **分离关注点**:将视图、控制和数据访问层分开,提高代码可维护性。 - **遵循...
HSQLDB是一个轻量级的内嵌式数据库,适合测试环境使用。 ###### 3.2.2 MySQL ```xml <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect <property name="hibernate.connection.driver_class...
"livebookstore-with-hsqldb-1.0.zip" 是一个包含此类系统的压缩包,它利用了Spring 2.0框架、UML建模语言以及SSH(Struts、Spring、Hibernate)技术栈,同时还集成了轻量级数据库HSQldb。这个项目为我们提供了深入...
瞬态对象是指刚被实例化且还未被Hibernate管理的新对象,它们还没有与任何Hibernate Session关联;持久化对象是指被当前Hibernate Session管理的对象,它们的状态与数据库中的记录同步;游离对象是指曾经是持久化...
总的来说,集成测试结合HSQLDB、Junit和Hibernate,能够有效地验证Java应用的数据访问层和业务逻辑,确保代码质量,并减少因数据库操作导致的测试复杂性。在实践中,这样的测试策略可以帮助开发者发现和修复问题,...
### Hibernate面试题详解 ...以上内容仅为Hibernate面试题的部分详解,更多细节及深入理解还需要结合具体项目实践和个人学习。希望这些解答能够帮助您更好地准备面试,同时也能够加深对Hibernate框架的理解。
- 使用命令行工具:`java -jar hibernate-tools-X.Y.Z.jar hbm2ddl -db hsqldb -dialect org.hibernate.dialect.HSQLDialect -input hibernate-mapping.hbm.xml` - 通过编程方式调用。 #### 四、事务和并发控制 ...
Hibernate 4在Spring 3.2的基础上,提供了更高效的性能和更多的功能,如二进制列支持、JPA 2.1规范的实现以及对HSQLDB内存数据库的增强。 在这个CRUD演示中,我们将会看到以下几个关键组件: 1. **配置**:包括...
测试使用了Hibernate的核心库版本3.3.2.GA和Hibernate的注解库版本3.4.0.GA,以及HSQLDB内存数据库。这种配置允许快速地进行单元测试,因为HSQLDB在内存中运行,启动速度快,且易于管理。 **测试案例** 1. **...
【标题】"ProjetoI:使用 Maven、HSQLDB、JPA 和 Hibernate 在博客上实现 JSF" 是一个综合性的 Java 项目,旨在演示如何利用这些技术构建一个功能齐全的博客系统。在这个项目中,开发者将学习到如何整合不同的开源...
Hibernate实例源代码详解 ##### (1) 更新操作 - **链接**: `http://www.java2java.com/CN/Tutorial/Java/0350__Hibernate/0060__Update.htm` - **说明**: 此实例展示了如何使用Hibernate执行更新操作。包括修改...
总的来说,这个“junit测试demo”提供了一个了解和学习如何在纯Java环境和SSH环境下进行单元测试的实例。通过分析和实践这些测试用例,开发者可以更好地掌握JUnit的使用,以及在实际项目中进行有效测试的方法。
【标题】"Extjs经典实例(附加数据库sqlserver2005)" 是一个结合了Extjs前端框架和SQL Server 2005后端数据库的项目实例,它展示了如何在Web应用中有效地使用这两项技术。Extjs是一个强大的JavaScript库,用于构建...