文档介绍:第6章 Hibernate
了解Hibernate基本原理
编写实体映射文件
使用Hibernate完成数据增、删、改操作
在项目中使用Hibernate
主要内容
2
为什么使用Hibernate?
在编写DAO层代码时,容易出现哪些问题?
思考:这部分代码规律性很强,是否可以采用“通用”的方法“集中”解决?
代码繁琐
容易出错
纯“体力”劳动
工作量大
占用大量开发时间
3
为什么使用Hibernate?
使用Hibernate后的DAO层代码:
代码精简易读
封装了JDBC操作,以面向对象的方式操作数据
开发工作量小,可以将精力集中在业务逻辑的处理上
public class FwxxDAOHibImpl
extends BaseHibernateDAO
implements FwxxDAO {
public FWXX get(int fwid) {
(,fwid);
}
public void add(FWXX fwxx) {
(fwxx);
}
public void del (int fwid) {
(,fwid);
}
public void update(FWXX fwxx) {
(fwxx);
}
}
Hibernate就是用来解决这些问题的
4
什么是Hibernate?
Hibernate之父:Gavin King
JBoss核心成员之一
《Hibernate In Action》作者
2001年开始开发Hibernate
2003年Hibernate发展为Java世界主流持久层框架
充满激情
脾气倔强
永不言败
5
Hibernate是一个优秀的持久化框架
什么是持久化?
内存
姓名:小颖
性别:女
特长:英语、程序设计
瞬时状态
磁盘
持久状态
用JDBC完成数据在持久和瞬时状态间的转换:
…
("…")
...
瞬时状态:保存在内存的程序数据,程序退出后,数据就消失了,称为瞬时状态
持久状态:保存在磁盘上的程序数据,程序退出后依然存在,称为程序数据的持久状态
持久化:
将程序数据在瞬时状态和持久状态之间转换的机制
持久化
6
Hibernate是一个主流的ORM框架
什么是ORM?
对象数据(O)
name:小颖
sex:女
skill:英语、程序设计
User对象
持久化层
业务逻辑层
表现层
数据库
TBL_User表
关系型数据(R)
映射信息
类: User
表: TBL_User
属性
字段
name
user_name
sex
user_sex
skill
user_skill
ORM(对象-关系映射):
完成对象数据到关系型数据映射的机制称为对象-关系映射,简称ORM。
7
小结
是一个主流的持久化框架
在JDBC基础上进行分装
只需要少量代码就可以完成持久化工作
是一个优秀的ORM(对象-关系映射)机制
通过映射文件保存映射信息
在业务层以面向对象的方式编程,不用考虑数据保存形式
8
使用Hibernate实现用户添加
如何使用Hibernate实现“用户添加”功能?
使用Hibernate的“3个准备,7个步骤”
准备1:导入Hibernate库(jar包)
9
使用Hibernate的基本步骤
准备2:添加配置文件--
<session-factory>
<property name="">
jdbc:microsoft:sqlserver://localhost:1433;Database=zf
</property>
<property name="">sa</property>
<property name="">pwd</property>
<property name="">
</property>
<property name="dialect">
</property>
<property name="show_sql">true</pro