作业1 Struts2和Hibernate的整合应用作业1 Struts2和Hibernate的整合应用.docVIP

作业1 Struts2和Hibernate的整合应用作业1 Struts2和Hibernate的整合应用.doc

  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文档。上传文档
查看更多
作业1 Struts2和Hibernate的整合应用作业1 Struts2和Hibernate的整合应用

作业1 Struts2和Hibernate的整合应用?? 2010-11-30 10:45:12|??分类:?学习心得|举报|字号?订阅 发现不少同学对这份作业有问题,所以特意写一篇blog,希望对大家有帮助。 题目: ? 提示: 因为该项目需要用到Struts2和Hibernate,所以请各位同学自己进行环境搭建,这里就不详细说了。 下面将按照DAO的方式完成代码的开发,首先定义VO类,VO类的名称与表的名称一致。 定义对应的vo类——News.java 本程序只是一个简单的vo类,包含了属性、getter、setter方法。其中插入日期时使用的是java.util.Date类。 提示: 由于篇幅问题,所以不列举所有setter和getter方法。 定义完vo类后,下面来定义一个HibernateUtils.java类,此类主要完成Hibernate的session打开及关闭操作。 HibernateUtils.java类 为了使之前定义的News.java类具备持久化操作的能力,接下来定义它对应的映射文件。 News.hbm.xml ? 注意: 这里的延迟加载设置为禁用。 接下来就要在hibernate.cfg.xml里引入News的映射文件 hibernate.cfg.xml ? OK,到了这步的话数据库的创建就基本上搞定了,用一个测试类Export.java看下之前的步骤有没有出错 Exprot.java 运行一下,发现没问题,打开Mysql,输入“use javaee;desc news;”发现表已经建好了,再往里边插入数据,作业的第一步就完成了。 ? 提示: mysql的语句结束一定要用;,不然不会执行的。 在DAO设计模式中,最重要的就是定义DAO接口,在定义DAO接口之前必须对业务进行详细的分析,要清楚地知道一张表在整个系统中应该具备何种功能。本程序中只完成数据的查询全部、更新、删除的功能。 定义DAO操作标准——NewsDAO.java 在DAO的操作标准定义了findAll()、findById()、update()、delete()4个功能。findAll()方法主要完成数据的查询操作,由于返回的是多条查询结果,所以使用list返回;findById()方法根据新闻的编号返回一个News对象。update()方法由于要保存session,所以要返回Boolean来判断,delete方法因为我懒,所以就设成void。 DAO接口定义完成后需要具体的实现类,由于实现类的代码较多,所以用分段列出的形式,在运行时,直接按照分类的顺序输入就可以了。 真实实现类——NewsDAOImpl.java 在执行查询全部数据时,首先实例化了List接口的对象;在定义Hql语句时,将新闻标题定义成了模糊查询的字段,把查询出来的结果加载到List集合中。 ? 按编号查询时,如果此编号的新闻存在,则映射到News对象,如果没有查询到,则返回null。 在执行更新操作时,因为在更新前已经取得了News对象,所以不用通过session.load()来取得对象,直接对引用对象进行update()就可以了。 ? 在执行删除操作时,通过调用findById()方法来取得news对象,在进行delete操作。 ? 以上程序分别实现了findAll()、findById()、update()、delete()方法,每个方法都设置了transaction,保证了事务的原子性、安全性等。 到这里,我们的DAO层设计可以说基本上完成了,接下来就是控制层和表现层的设计。 控制层按老师要求,使用Struts2,定义一个NewsAction类,此类主要完成数据的接受,还要对dao层的调用。 控制类——NewsAction.java ? 提示: 由于篇幅问题,所以setter和getter方法就不罗列出来了。 ? ? 可以发现,NewsAction类中并没有什么复杂的代码,只是对DAO层的调用,这样的话就可以很好地做到分层了。 因为NewsAction使用了Struts2框架,所以要在Struts.xml和web.xml进行配置。 Struts.xml ? web.xml 后台代码完成后,就可以使用JSP进行前台功能的实现了。 查询操作需要直接调用DAO接口的findAll()方法。 show_all.jsp ? ? 在show_all.jsp中,首先根据DAO定义的findAll()方法取得全部的查询结果,然后采用迭代的方式输出全部数据。如果现在又查询关键字,则将查询关键字设置到findAll方法中,以实

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档