JavaWeb设计实用教程——基于Eclipse环境的应用开发教学课件作者孔昊chap7Hibernate实现数据持久化课件.pptVIP

JavaWeb设计实用教程——基于Eclipse环境的应用开发教学课件作者孔昊chap7Hibernate实现数据持久化课件.ppt

  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项目的设计 public void save(Information transientInstance) { log.debug(saving Information instance); try { Session session = getSession(); Transaction tx = session.beginTransaction(); session.save(transientInstance); mit(); log.debug(save successful); } catch (RuntimeException re) { log.error(save failed, re); throw re; } } 代码修改如下: Hibernate项目的设计 二、DAO模式实现方式 ⑴ DAO模式的处理结构 Hibernate项目的设计 ⑵ 分析处理结构 分析这个图,会有以下几个问题: 控制层与DAO层之间是通过业务层做“中介”的,那么业务层应该向控制器提供相应的服务方法来满足控制层的处理要求。 DAO层中的DAO类集合了对相应数据库表的操作方法,那么业务层应该根据具体的业务要求调用适当的方法完成对数据库表的操作。 DAO层操作的是Hibernate持久化对象,或者是对象中的某个属性,那么控制层应该准备好相应的数据,通过业务层传递给DAO层。 Hibernate项目的设计 ⑶ 实施DAO模式设计 需要解决的问题: ① 业务层类汇集了针对某个数据库表的所有业务方法。 ② 创建DAO类对象,调用DAO类中的方法。 一个关键机制——创建DAO工厂 Hibernate项目的设计 ⑷ 创建DAO工厂 public class DAOFactory { public static INewstDAO getNewstDAO(){ //针对NewstDAO类 return new NewstDAO(); } public static IColumntDAO getColumntDAO(){ //针对ColumntDAO类 return new ColumntDAO(); } public static ICommenttDAO getCommenttDAO(){ //针对CommenttDAO类 return new CommenttDAO(); } } Hibernate项目的设计 创建DAO工厂时的两点说明: 由于是static方法,在业务层可以通过DAOFactory.getXXX()的方式调用该方法得到DAO实例了。 getXXX()方法返回了一个接口:这是DAO模式的一种组织结构,即把DAO类提供的接口独立出来,在业务层只与DAO接口打交道: 遵循的原则是:尽量减少业务层和数据层的各自变化而导致的相互影响,即减少DAO实现变化时Service对DAO层的依赖程度。 Hibernate项目的设计 三、DAO模式实现过程 ⑴ 编写DAO类接口,并让InformationDAO类实现这个接口 public interface IInformationDAO extends IBaseHibernateDAO{ public void save(Information information); } public class InformationDAO extends BaseHibernateDAO implements IInformationDAO{ … … … } IInformationDAO接口继承了IBaseHibernateDAO接口,为的是能够拥有getSession()方法,可以在业务层关闭打开的Session对象。 Hibernate项目的设计 ⑵ 建立DAOFactory工厂类 DAOFactory.java文件的内容可以定义为: public class DAOFactory { public static IInformationDAO getInformationDAO (){ return new InformationDAO( ); } Hibernate项目的设计 ⑶ 编写业务层代码 编写业务层时,有以下几点说明: 将业务层类放在service包中,给这个类起名为InformationService.java; DAO工厂创建了DAO类的实例对象时,使用接口回调的机制; 需要通过dao调用getSession()方法获得Seesion对象,这样就可以关闭它了;

您可能关注的文档

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档