读书人

Learning Hibernate step by step - 0

发布时间: 2012-09-22 21:54:54 作者: rapoo

Learning Hibernate step by step -- 01 Hello World
既然数据库可以连通了,今天就要学习如何通过Hibernate完成对数据库的操作了,还是以简单的HelloWorld程序来做个演示。
一、 准备工作
我们需要创建三个文件,分别是Domain Object、Mapping、DB table
1. 先创—omain Object--类Greetings.java,这个类包括三个字段:
id: ID标识符
name: 问候对象
greeting: 问候语


3. 在test数据库中创建对应的表T_Greetings
c. 继续运行,出现如下异常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/objectweb/asm/Type,原因是缺少相关jar包,导入asm.jar及asm-attrs.jar。
d. 继续运行,
控制台输出:Hibernate: insert into T_Greetings (`name`, `greeting`) values (?, ?)
观察后台数据库,数据已经成功保存到数据库中:
mysql> use test;
Database changed
mysql> select * from t_greetings;
+----+---------+---------------+
| id | name | greeting |
+----+---------+---------------+
| 1 | TriEyes | Say Hello to |
+----+---------+---------------+
1 row in set
4. 更近一步--检索数据
在HelloWorld类中增加如下代码:

5. 运行测试类,出现如下异常:
Exception in thread "main" java.lang.NoClassDefFoundError: antlr/ANTLRException,原因是缺少相关jar包,导入antlr-2.7.6.jar包。
6. 继续运行,控制台输出:
Hibernate: insert into T_Greetings (`name`, `greeting`) values (?, ?)
Hibernate: select greetings0_.id as id1_, greetings0_.`name` as name2_1_, greetings0_.`greeting` as greeting3_1_ from T_Greetings greetings0_
2 greeting(s) found.
Say Hello to TriEyes
Say Hello to TriEyes
数据保存成功,并且可以从刚插入的表中检索出数据。
三、相关jar包,为了顺利运行程序,我们新引入了三个jar包,缺少这三个jar包,会引发相关异常:
2asm.jar和cglib类似Exception in thread "main" java.lang.NoClassDefFoundError: org/objectweb/asm/Type3asm-attrs.jar和cglib类似?4antlr-2.7.6.jaribernate使用ANTLR来产生查询分析器Exception in thread "main" java.lang.NoClassDefFoundError: antlr/ANTLRException
四、总结:
1. 涉及的三个对象:Domain Object、Mapping、DB table
2. 映射文件不会自动加载,需要在配置文件中指定
3. Hibernate不会自动提交事务,需要显示地执行Transaction
4. 到目前为止,已经引入的Hibernate的必须的包如下:
LearningHibernate
+src
+lib
antlr-2.7.6.jar
asm.jar
asm-attrs.jar
cglib-2.1.3.jar
commons-collections-2.1.1.jar
commons-logging-1.0.4.jar
dom4j-1.6.1.jar
hibernate3.jar
jta.jar

读书人网 >软件架构设计

热点推荐