- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7讲使用hibernate完成对象持久化
第讲 使用Hibernate完成对象持久化
本讲目标:
了解Hibernate基本原理
学会编写实体映射文件
学会使用Hibernate完成数据增、删、改操作
学会在项目中使用Hibernate
引入:对数据库进行CRUD的时候,代码繁琐,容易出错。重复性工作大,纯“体力”劳动工作量大,占用大量开发时间。这部分代码规律性很强,是否可以采用“通用”的方法“集中”解决?
解决方案:使用Hibernate后我们的DAO层代码会简洁清爽很多,现在就让我们解开Hibernate的神秘面纱吧!持久化
瞬时状态(transient)持久状态(persistent)
持久化:将程序中的数据由瞬时状态到持久状态的转化称为持久化。实际上我们原先学过的JDBC就是一种持久化机制。
持久化形式:把对象存储到数据库中。
7对象关系映射(ORM)
对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。
对象和关系之间对应关系:
类——表
对象——记录
属性——字段
初识Hibernate
Hibernate是一个基于JDBC的优秀的ORM框架。它在JDBC基础上进行封装,通过映射文件保存映射信息,这样只需要少量代码就可以完成持久化工作,在业务层以面向对象的方式编程,不用考虑数据保存形式。
Hibernate之父:Gavin King
JBoss核心成员之一
EJB3.0专家委员会成员
《Hibernate In Action》作者
2001年开始开发Hibernate
2003年Hibernate发展为Java世界主流持久层框架
7.2 Hibernate的使用(3个准备,7个步骤)——3个准备
准备1:导入Hibernate库(jar包)
准备2:添加配置文件 -- hibernate.cfg.xml
准备3:添加实体类和映射文件(User.java和User.hbm.xml)
User.hbm.xml:
User.java:
使用Hibernate,系统中添加一个表的时候,需要做的工作:
添加实体类
添加映射文件
在hibernate.cfg.xml中增加mapping resource=com/bzxy/ssh/entity/EntityName.hbm.xml /
7.3 Hibernate的使用(3个准备,7个步骤)——7个步骤
Hibernate执行持久化操作的7个步骤
步骤 操作 代码 1 读取并解析配置文件 Configuration conf=new Configuration().configure(); 2 读取并解析映射信息,
创建SessionFactory SessionFactory
sf=conf.buildSessionFactory(); 3 打开Session Session session=sf.openSession(); 4 开始一个事务(增删改操作必须,查询操作可选) tx=session.beginTransaction(); 5 持久化操作 session.save(user); 6 提交事务 mit(); 7 关闭session session.close();
Hibernate执行过程
使用Hibernate实现数据的添加/加载/删除/修改
使用Myeclipse简化Hibernate开发
简化3个准备
通过myeclipse的hibernate工具完成
简化7个步骤import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Example;
import com.bzxy.ssh.dao.hibimpl.HibernateSessionFactory;
public abstract class BaseHibernateDAO {
protected Session getSession() {
return HibernateSessionFactory.getSession();
}
protected void add(Object item){
Transaction tx = null;
Session session = HibernateSessionFactory.getSession();
try {
tx = sess
文档评论(0)