- 6
- 0
- 约2.35千字
- 约 17页
- 2015-12-10 发布于江苏
- 举报
作业1 Struts2和Hibernate的整合应用.doc
作业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方法中,以实现模糊查询的功能。程序的运行结果如下所示。
由于要通过标题来查看新闻的具体内容
您可能关注的文档
- 中国机床装备制造业如何变强 两会代表各抒己见.doc
- 中国正义论纲要.doc
- 中国环境监测专用仪器仪表制造产业百强企业经营数据分析.docx
- 中国现代诗歌散文.ppt
- 中国电建、中国能建两公司成立标志着电网主辅分离改革重大进展.doc
- 中国近代史—对国家出路的早期探索.ppt
- 中国银行2010笔试综合&%3行测真题及答案.doc
- 中央财经大学801经济学2002年试题.doc
- 中学生使用手机的情况.doc
- 中学生寒假学习计划.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- LY_T 1955-2022 林地保护利用规划林地落界技术规程.docx
- 2025年独角兽企业:宁德时代组织结构及部门职责.pdf VIP
- 2026年党支部在学习贯彻党的创新理论等“对照五个方面”存在的问题及整改措施4280字范文.docx VIP
- 汉英翻译技巧课件钟书能 ISBN9787566304049 PPT11.ppt VIP
- 西华大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- 2026年责任制整体护理工作计划范文(2篇).docx VIP
- 2026年党支部在学习贯彻党的创新理论、加强党性锤炼等“对照五个方面”存在的问题及整改措施4030字范文.docx VIP
- 《药品上市后评价管理规程》.docx VIP
- 学校1530安全教育记录(2026年春季期).docx
- 《边教书边成长》读书分享课件.pptx VIP
原创力文档

文档评论(0)