操纵持久化对象(二).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操纵持久化对象(二)

操纵持久化对象 回顾 手工配置Hibernate框架三个准备七个步骤 准备一、导入Hibernate库 准备二、添加配置文件hibernate.cfg.xml 准备三、添加映射文件UserInfo.hbm.xml 步骤一、创建Configuration 步骤二、创建SessionFactory 步骤三、打开Session 步骤四、开始一个事务 步骤五、持久化操作 步骤六、提交事务 步骤七、关闭session 本章目标 持久化对象的状态 持久化对象的生命周期 操纵对象,完成CRUD操作 持久化对象的状态 瞬时状态(Transient Objects):使用new操作符初始化的对象不是立刻就持久的。它们的状态是瞬时的,也就是说它们没有任何跟数据库表相关联的行为,只要应用不再引用这些对象(不再被任何其它对象所引用),它们的状态将会丢失,并由垃圾回收机制回收。 持久化对象(Persist Objects):持久化实例是任何具有数据库标识的实例。它有持久化管理器Session统一管理,持久化实例是在事务中进行操作的—它们的状态在事务结束时同数据库进行同步。当事务提交时,通过执行SQL的INSERT、UPDATE和DELETE语句把内存中的状态同步到数据库中 离线对象(Detached Objects):Session关闭之后,持久化对象就变为离线对象。离线表示这个对象能再与数据库保持同步,它们不再受Hibernate管理 持久化对象的生命周期(lifecycle) 向数据库添加一条记录 Session s=sf.openSession(); Transaction tx=s.beginTransaction(); s.save(user); mit(); s.close(); 操纵对象,完成CRUD操作 根据主键,从数据库中取得一条记录 Session s=sf.openSession(); Userinfo us=(Userinfo)s.load(Userinfo.class, id); 操纵对象,完成CRUD操作 根据主键修改一条记录 Session s=sf.openSession(); Userinfo us=(Userinfo)s.get(Userinfo.class, id); us.setUserques(你的偶像是谁?); us.setUserans(比尔.盖茨); Transaction tx=s.beginTransaction(); s.update(us); mit(); 操纵对象,完成CRUD操作 根据主键删除一条记录 Session s=sf.openSession(); Userinfo user=(Userinfo)s.get(Userinfo.class, id); Transaction tx=s.beginTransaction(); s.delete(user); mit(); s.close(); 操纵对象,完成CRUD操作 进行查询可以使用Query接口和Criteria接口.使用Query接口需要编写HQL语句;使用Criteria接口需要和其他一些类进行配合使用比如Expression, Restrictions 操纵对象,完成CRUD操作 Query query=session.createQuery(from Users); query.setFirstResult(0); query.setMaxResults(3); List list=query.list(); Iterator it=list.iterator(); while(it.hasNext()){ System.out.println(((Users)it.next()).getName()); } 总结 掌握Hibernate中对象的状态 transient状态 在数据库中没有与之匹配的数据 没有纳入session的管理 persistent状态 persistent状态的对象在数据库中有与之匹配的数据 纳入了session的管理 在清理缓存(脏数据检查)的时候,会和数据库同步 detached状态 在数据库中有与之匹配的数据 没有纳入session的管理 通过Hibernate对数据进行CRUD操作 知识点补充 Hibernate在应用中的位置 基于B/S的典型三层架构 开发如何分层? 业务逻辑层和持久化层绝不要依赖于展现层。 持久层对于业务层是透明的,持久层和业务层的变化是彼此独立的。 Hibernate核心接口 核心接口一Configuration Configuration 类负责管理Hibernate 的配置信息。它包

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档