版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目案例4“e拍”在线拍卖系统(二)
问题描述添加商品浏览在拍商品嵌在首页中显示出价记录对符合条件的商品显示“出价”按钮用户登录后,才显示当前日期在拍卖日期之间才显示当前登录用户是买家的不显示问题分析-1将用户表纳入Hibernate管理:为什么?
商品表(Goods)和出价表(Bid)需要关联到用户表怎样做?保留原有User实体类手动编写配置文件在Hibernate.cfg.xml中增加:
<mappingresource="y2ssh/[yourname]/xmal4/entity/User.hbm.xml"/>在实际软件开发中,常常遇到在遗留系统上开发的情况问题分析-2分层开发模式:开发顺序总体顺序:
entity(实体)
DAO(数据访问层)
Biz(业务逻辑层)
WebWeb层开发:ActionFormActionJSP页面每一层只考虑自己的职责DAO层是面向数据的,职责是提供数据增删改查的方法BIZ层是面向业务的。根据业务的需要建立相应的方法。Action层方法(采用DispatchAction)的设定依据页面操作和流转的关系设定要点:接口的设计难点分析-1生成实体类和配置文件时,不能覆盖User实体类为什么?
不能破坏原有系统怎样做?
将数据库中外键删除再生成实体类和映射文件外键关联关系由程序维护难点分析-2配置关联Goods到User的两个many-to-one关联先修改实体类1、删掉salerId和buyerId属性2、增加buyer和saler属性在Goods.hbm.xml配置关联//privateLongsalerId;//privateLongbuyerId;privateUsersaler;privateUserbuyer;<many-to-onename="buyer" class="y2ssh.zhangcuishan.xmal3.entity.User" fetch="select"><columnname="buyer_id"/></many-to-one><many-to-onename="saler" class="y2ssh.zhangcuishan.xmal3.entity.User" fetch="select"><columnname="saler_id"not-null="true"/></many-to-one>难点分析-3配置关联Goods到Bid的一个one-to-many关联先修改实体类增加bids属性在Goods.hbm.xml配置关联Bid到Goods的many-to-one关联:goodsBid到User的many-to-one关联:buyerprivateSetbids=newHashSet(0);<setname="bids"inverse="true"><key><columnname="goods_id"not-null="true"/></key><one-to-many class="y2ssh.zhangcuishan.xmal4.entity.Bid"/></set>阶段划分第一阶段(30分钟)实现系统DAO层:配置Hibernate,编写映射文件,编写DAO层代码第二阶段(20分钟)实现系统业务逻辑层(Biz层)第三阶段(10分钟)编写FORM代码第四阶段(30分钟)编写页面和ACTION代码,实现添加商品功能第五阶段(30分钟)编写页面和ACTION代码,实现在拍商品列表功能第六阶段(15分钟)编写页面和ACTION代码,实现显示出价记录第七阶段(15分钟)编写页面和ACTION代码,实现符合要求的商品,显示“出价”按钮第一阶段第一阶段(30分钟)实现系统DAO层:配置Hibernate编写映射文件编写DAO层代码要求学员自己动手操作,教员巡视,解答学员提出的问题阶段检查针对第一阶段抽查学员的操作结果教员给出点评或集中演示难点部分
第一阶段参考代码1第一阶段参考代码:publicclassGoodsDAOHibimpl extendsBaseHibernateDAO implementsGoodsDAO{publicvoidadd(Goodsitem){ super.add(item);}publicvoiddel(Serializablekey){ super.del(key,Goods.class);}publicGoodsget(Serializablekey){ Goodsitem= (Goods)super.get(key,Goods.class); returnitem;}......}publicinterfaceGoodsDAO{publicvoidadd(Goodsitem);publicvoiddel(java.io.Serializablekey);publicvoidupdate(Goodsitem);publicGoodsget(java.io.Serializablekey);publicListsearch(Goodscondition);}第二阶段第二阶段(20分钟)实现系统业务逻辑层(Biz层)要求学员自己动手编写代码,教员巡视,解答学员提出的问题阶段检查针对第二阶段抽查学员的编码结果教员给出点评或集中演示难点部分第二阶段标准代码演示-1GoodsBizImplpublicclassGoodsBizImplimplementsGoodsBiz{privateGoodsDAOgoodsDAO=newGoodsDAOHibimpl();privateUserDAOuserDAO=newUserDAOHibimpl();publicvoidaddGoods(Goodsitem,longsalerId){Usersaler=this.userDAO.get(salerId);if(saler==null){ return;}item.setSaler(saler);this.goodsDAO.add(item);}publicvoiddelGoods(Longkey){ this.goodsDAO.del(key);}...}第二阶段标准代码演示-2GoodsBizImplpublicclassGoodsBizImplimplementsGoodsBiz{...publicListgetMyGoodsList(LonguserId){ Goodscondition=newGoods(); Usersaler=this.userDAO.get(userId); condition.setSaler(saler); Listret=this.goodsDAO.search(condition); returnret;}publicListgetOnSaleGoodsList(){ Goodscondition=newGoods(); condition.setGoodsStatus( GoodsBiz.GOODS_STATUS_ON_SALE); Listret=this.goodsDAO.search(condition); returnret;}}第三阶段第三阶段(10分钟):编写FORM代码要求学员自己动手编写代码,教员巡视,解答学员提出的问题阶段检查针对第三阶段抽查学员的编码结果教员给出点评第三阶段标准代码演示GoodsFormpackagey2ssh.zhangcuishan.xmal4.web.form;importorg.apache.struts.action.ActionForm;importy2ssh.zhangcuishan.xmal4.entity.Goods;publicclassGoodsFormextendsActionForm{
privateGoodsitem=newGoods(); publicGoodsgetItem(){ returnitem; } publicvoidsetItem(Goodsitem){ this.item=item; } }第四阶段第四阶段(30分钟):编写页面和ACTION代码,实现添加商品功能
要求学员自己动手编写代码,教员巡视,解答学员提出的问题阶段检查针对第四阶段抽查学员的编码结果抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果教员给出点评第四阶段标准代码演示-1Action代码publicclassGoodsActionextendsBaseAction{
privateGoodsBizgoodsBiz=newGoodsBizImpl(); privateBidBizbidBiz=newBidBizImpl();
//转到添加商品页面
publicActionForwardtoAdd(...){ returnmapping.findForward("add_goods"); } //执行添加商品操作
publicActionForwarddoAdd(...){ GoodsFormgoodsForm=(GoodsForm)form; Goodsitem=goodsForm.getItem(); this.goodsBiz.addGoods( item,super.getCurrUserId(request)); returnmapping.findForward("index"); }}publicclassBaseActionextendsDispatchAction{ publicLonggetCurrUserId(HttpServletRequestrequest){ Useruser=this.getCurrUser(request); if(null==user){ returnnewLong(-1); } else{ returnuser.getUserId(); } } publicUsergetCurrUser(HttpServletRequestrequest){ Useruser=(User)request.getSession().getAttribute("user"); returnuser; }}第四阶段标准代码演示-2图片预览效果的实现:<script>functionsetGoodsPic(url){varoImg=document.getElementById("goodsPic");oImg.src=url;oImg.style.height="240px";}</script><html:textproperty="item.goodsPic" onblur="javascript:setGoodsPic(this.value);"/><imgid="goodsPic"src="images/preview.jpg"/>第四阶段运行效果演示第五阶段第五阶段(30分钟):编写页面和ACTION代码,实现在拍商品列表功能要求学员自己动手操作,教员巡视,解答学员提出的问题阶段检查针对第五阶段抽查学员的编码结果抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果教员给出点评第五阶段标准代码演示在首页包含在拍商品列表<bean:includeid="t" page="/goods.do?operate=toOnSaleGoodsList"/><bean:writename="t"filter="false"/>第六阶段第六阶段(15分钟):显示出价记录要求学员自己动手操作,教员巡视,解答学员提出的问题阶段检查针对第三阶段抽查学员的编码结果抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果教员给出点评第六阶段标准代码演示-1出价记录<logic:notEmptyname="item"property="bids"><divstyle="width:300px;padding-left:10px;">
出价记录:[<spanonclick="javascript:SwitchDisplay('div${item.goodsId}');"> +/-</span>]<br/><divstyle="display:none;"id="div${item.goodsId}"><logic:iterateid="bid"name="item"property="bids"><em>${bid.buyer.userName}</em><bean:writename="bid"property="bidTime"format="yyyy-MM-ddhh:mm"/><spanstyle="color:green;font-weight:bold;">${bid.bidPrice}</span><br/></logic:iterate></div></div></logic:notEmpty>第七阶段第七阶段(15分钟):符合要求的商品,显示“出价”按钮要求学员自己动手编写代码,教员巡视,解答学员提出的问题阶段检查
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- QES三体系一体化文件及标准条款对照表
- 2025学年浙江杭州重点中学高一下学期期中生物试题含答案
- 深度解析(2026)《GBT 35513.1-2017塑料 聚碳酸酯(PC)模塑和挤出材料 第1部分:命名系统和分类基础》
- 《DLT 849.2-2004电力设备专用测试仪器通 用技术条件 第2部分:电缆故障定点仪》(2026年)合规红线与避坑实操手册
- 《CJT 249-2007城镇污水处理厂污泥处置 混合填埋泥质》(2026年)合规红线与避坑实操手册
- 养老中心规章制度
- 北京市顺义区2024-2025学年高三地理下学期3月一模试题【含答案】
- 保密知识试卷及解析
- 结构工程师抗震设计试题及解析
- 材料员试卷及分析
- 2026年广东汕头市中考历史试题(附答案)
- 酒店电梯应急演练方案
- 焊接质量检测技术全套课件
- 社区公共充电设施便民化改造建设方案
- 【新教材】译林版(2024)八年级下册英语Unit 7 Charities教案
- 2026年2月新疆联合化工有限责任公司招聘41人笔试备考试题及答案解析
- 小学科学第一单元教学设计范例
- 2026年中考语文一轮专题复习:名著阅读(整本书阅读)综合测试卷
- 生产食品检验室管理制度
- 2025年中职人工智能技术应用(AI技术基础原理)试题及答案
- 2026年广州铁路职业技术学院高职单招职业适应性测试备考试题及答案详解
评论
0/150
提交评论