北大青鸟Y2ppt:第二阶段标准代码实现与难点分析

需积分: 16 4 下载量 26 浏览量 更新于2024-08-23 收藏 5.68MB PPT 举报
本资源是一份关于北大青鸟Y2阶段标准代码演示的讲解,主要关注的是一个名为"GoodsBizImpl"的Java实现类,它实现了"GoodsBiz"接口,用于操作"Goods"和"User"实体。这个类包含了四个核心方法:addGoods, delGoods, getMyGoodsList, 和 getOnSaleGoodsList。这些方法涉及到了商品业务逻辑,如添加商品、删除商品、获取用户自己的商品列表以及获取待售商品列表。 在添加商品的方法中,首先通过UserDAO获取指定销售员的信息,如果用户不存在则返回。然后设置商品的销售员,并调用GoodsDAO进行添加操作。删除商品则直接调用DAO层的del方法,传入商品的唯一标识。 getMyGoodsList方法根据用户的ID获取与之相关的商品列表,同样通过UserDAO获取用户对象,然后设置查询条件为商品的所有者(saler),并执行搜索。getOnSaleGoodsList则筛选出状态为待售(GOODS_STATUS_ON_SALE)的商品。 在项目的案例中,还涉及到数据库设计和 Hibernate 的集成。为了将用户表纳入Hibernate管理,因为商品和出价表需要与用户表关联,所以保留了原有的User实体类,但需要手动配置Hibernate映射文件,如User.hbm.xml。在遗留系统上开发时,遵循分层开发模式,包括实体层(entity)、数据访问层(DAO)和业务逻辑层(Biz),其中DAO负责数据操作,Biz处理业务规则,而Web层则通过ActionForm、Action和JSP页面实现页面功能。 难点分析部分提到了在生成实体类和配置文件时,不能覆盖已有的User实体类,因为这可能破坏原有系统的稳定性。解决办法是在删除外键属性(如salerId和buyerId)后,添加对应的User对象引用,并在Goods.hbm.xml中配置多对一(many-to-one)关联,确保关联关系由程序逻辑来维护。 此外,配置Goods到User的两个关联时,需要在实体类中调整字段结构,并在映射文件中明确指定关联关系的User类和列名。这表明在处理数据库关联时,不仅要关注代码层面的更改,还要确保映射配置正确无误,以保持数据的一致性和完整性。 这份代码演示展示了如何在Struts框架下,利用Hibernate进行数据库操作,遵循分层架构原则,并在项目实践中处理与遗留系统集成及关联关系管理的挑战。