Hibernate经典总结(一)

2014-11-24 08:27:11 · 作者: · 浏览: 0
Hibernate经典总结
1.Hibernate框架作用,优点
(1)、什么是Hibernate
Hibernate是一个数据访问框架(持久层框架),在项目中利用Hibernate框
架可以实现对 数据库的增删改查操作,为业务层构建一个持久层。
(2)、Hibernate框架主要用于对数据库的操作。
使用该框架可以简化数据操作代码,程序员可以将更多地精力放在业务
编写上。Hibernate经典总结
Hibernate本质上是对JDBC技术的封装。
Hibernate和JDBC的关系类似于JQuery和 JavaScript的关系。
(3)、原有JDBC方式访问数据库,有以下几点不足:
a.需要编写大量复杂的SQL语句
b.需要做大量的对象和记录的转换
c.数据库移植时,需要修改SQL语句。(非标准SQL语句:如分页语句,
使用数据库函数的语句)
使用Hibernate框架后,可以解决上述问题
(4)、Hibernate框架的优点:
a.无需编写大量复杂的SQL语句
b.程序中的实体对象和数据库中的数据实现自动映射转换
c.方便数据库的移植
2.Hibernate设计原理
Hibernate框架是一款ORM工具。基于ORM设计思想开发出来的。
ORM:Object--Relation--Mapping对象关系映射
对象指的就是Java的实体对象;
关系指的是关系型数据库。(Oracle、DB2、MySql、SqlServer)
ORM的主要思想就是将程序中的对象和数据库中的数据实现自动映射
转换。利用ORM工具,在查询时,可以自动将记录封装成Java对象返
回。在更新、插入操作时,可以将对象自动写入数据表。对于中间的
SQL+JDBC操作细节,完全封装在工具底层
基于ORM思想设计的框架有很多,例如Hibernate,iBATIS,JPA等.
*3.Hibernate框架主要结构
Hibernate主要由以下几部分构成:
a.Java实体类(1-n个)
与数据表对应,用于封装数据表的一行记录。
b.hibernate.cfg.xml(1个)
Hibernate主配置文件,里面主要定义连接数据库的参数、框架参数等。
true
true
c. 文件名.hbm.xml(1-n个)
Hibernate映射描述文件,里面定义了实体类和数据库之间的对应关
系。例如定义了java实体类和数据表,属性和表字段之间的对应关系。
Hibernate经典总结
cost_seq
type="integer">
type="double">
type="double">
d.Hibernate API
在使用时,需要使用Hibernate提供的API, 它们将SQL+JDBC操作细节
封装起来了。
*4.Hibernate主要API
Configuration:用于加载主配置文件(hibernte.cfg.xml)和映射文件。
SessionFactory:用于创建Session对象。
Session:将原Connection对象进行了封装,代表Hibernate与数据库之
间的一次连接,负责执行增删改查操作。
save(),update(),delete(),load(),get()方法.
Transaction:用于进行事务管理。
注意:由于关闭了JDBC中的自动提交功能
(setAutoCommit(false)),所以使用时,必须显示地
执行commit 操作。
Query:负责执行各种查询。
注:此处的Session区别于JavaWeb中的Session。前者表示Hibernate与数据库之间的
连接,后者表示客户端与服务器端的一次会话。
*5.Hibernate使用步骤
a.创建工程,引入hibernate和驱动开发包
b.在src下追加hibernate.cfg.xml主配置
c.根据数据表创建Entity实体类
d.编写实体类和数据表的映射文件xxx.hbm.xml
e.利用Hibernate API实现增删改查操作
6.Hibernate中的增改删查操作:
/**
* 测试添加操作
*/
public static void testSave() {
Cost cost = new Cost();
// cost.setId();//由hbm.xml定义的序列负责
cost.setName("400元套餐");
cost.setBaseDuration(200);
cost.setBaseCost(400.0);
cost.setUnitCost(2.0);
cost.setCostType("1");
cost.setDescr("400特惠大套餐");
co