结合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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值