使用java实现数据库编程_第1页
使用java实现数据库编程_第2页
使用java实现数据库编程_第3页
使用java实现数据库编程_第4页
使用java实现数据库编程_第5页
已阅读5页,还剩43页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十章宠物商店项目案例预习检查什么是软件系统三层架构,各层的职责是什么?“宠物商店”中需创建哪些实体类?“宠物商店”中需要搭建哪些DAO接口?如何显示主人的宠物列表?宠物主人卖出宠物给商店时,需要哪些操作?集中测试2/48训练的技能点面向对象程序设计的思想使用Java集合存储和传输数据数据库的设计使用JDBC操作数据库使用MySQL存储数据DAO模式的应用3/48生活中的分层生活中的分层服务员厨师采购员各司其职,各尽其责补充技能点——三层架构6-14/48补充技能点——三层架构6-2软件系统的三层架构表示层(UI)

业务逻辑层(BI)

数据访问层(DAO)

用户请求返回数据5/48分层原则——封装性原则每个层次向外公开接口,但是隐藏内部细节钥匙开锁,只知道锁提供的接口,但不知道锁的内部细节补充技能点——三层架构6-36/48分层原则——顺序访问原则下一层为上一层服务,但不使用上层的服务盖楼时需要先打地基,地基为上层建筑服务,但不使用上层的服务补充技能点——三层架构6-47/48分层结构中,不同层之间通过实体类传输数据业务逻辑层数据访问层补充技能点——三层架构6-58/48分层的特点每一层都有自己的职责上一层不用关心下一层的实现细节,上一层通过下一层提供的对外接口来使用其功能上一层调用下一层的功能,下一层不能调用上一层功能分层开发的优势代码复用分离开发人员的关注无损替换降低了系统间的依赖补充技能点——三层架构6-69/48任务描述系统概述在宠物商店里,宠物主人可以出卖、购买宠物每一笔买入、卖出的业务,店家都会记录在账商店可以根据需求自己培育宠物品种系统角色宠物、主人、宠物商店、账目提交结果创建数据库表的脚本文件、系统类图、程序代码演示示例:宠物商店10/48问题分析1:整体开发思路系统开发步骤明确需求设计数据库设计技术框架Java技术三层架构编码顺序测试系统启动登录功能宠物主人操作宠物商店操作123411/48问题分析2:界面交互设计界面交互设计的原则统一性原则界面风格统一用相同方式展现相同类型的数据,如:日期类型交互风格统一用相同方式完成相同类型的操作,如:录入日期美观性原则界面美观大方易用性原则操作方式自然、易理解12/48难点分析1:设计数据库表结构根据业务确定表的名称根据业务确定表的具体字段如何区分一个宠物是否被卖出如何定义一个宠物的所属商店如何确定一个宠物是属于哪个主人的注意主键和外键的设计,建立表之间关联关系13/48难点分析2:使用类图设计系统采用三层架构搭建系统框架数据访问层、业务逻辑层、表示层采用数据访问层采用DAO模式设计和开发设计步骤第一步:根据数据库表创建实体类第二步:创建DAO接口和实现类第三步:创建业务接口和实现类第四步:优化业务接口设计第五步:根据分析结果,给出伪代码,完成设计14/48项目准备:设计并创建数据库表3-1数据库表宠物表pet宠物主人表petowner

宠物商店表petstore

账目表account具体字段根据业务进行确定主键和外键的设计,建立表之间关联关系!注意15/48项目准备:设计并创建数据库表3-216/48字段名字段类型长度备注idINT4宠物idnameCHAR50宠物名type_nameCHAR20宠物类型healthINT4是否健康love INT4爱心指数birthdayTIMESTAMP出生日期owner_idINT4宠物主人idstore_idINT4宠物所属商店id项目准备:设计并创建数据库表3-3字段名字段类型长度备注idINT宠物主人idnameCHAR10宠物主人名passwordCHAR10宠物主人密码moneyINT宠物主人元宝字段名字段类型长度备注idINT4宠物商店idnameNCHAR10宠物商店名字passwordNCHAR10宠物商店密码balanceINT4宠物商店结余字段名字段类型长度备注idINT4账单iddeal_typeINT4交易类型,1:商店卖给宠物主人2:宠物主人卖给商店pet_idINT4宠物idseller_idINT4买家idbuyer_idINT4卖家idpriceINT4交易价格deal_timeTIMESTAMP交易时间宠物表宠物主人表宠物商店表账目表17/48项目准备:搭建系统三层架构5-1第一步:根据数据库表创建实体类实体类一般和数据库表对应,实体类的属性对应于表的字段为四个数据库表分别创建实体类,实现数据库数据在各个层次的传输四个实体类的名称可以定义为Pet、PetOwner、PetStore、Account18/48项目准备:完成接口设计5-2第二步:创建数据访问层DAO接口和实现类采用面向接口编程的思想设计数据访问层,定义DAO接口和实现类为四个数据库表分别创建DAO接口和实现类为了重用建立和关闭数据库的代码,创建BaseDao作为四个实现类的父类项目准备:搭建系统三层架构5-219/48项目准备:完成接口设计5-3第三步:创建业务逻辑层接口和实现类从业务角度考虑,主要是宠物主人和宠物商店业务创建宠物主人和宠物商店业务接口及实现类在业务实现类中调用DAO接口实现相应业务项目准备:搭建系统三层架构5-320/48第四步:优化业务逻辑层接口设计按照“单一职能原则”对业务接口定义进行优化抽取出Buyable、Sellable、Breedable、Accountable等接口PetOwnerService、PetStoreService接口根据自身功能继承其中的一个或多个接口项目准备:搭建系统三层架构5-421/48项目准备:完成接口设计5-5第五步:创建表示层实现与用户交互系统的主流程菜单提示用户输入数据系统反馈的信息或数据项目准备:搭建系统三层架构5-522/48开发计划用例1:系统启动[30分钟]用例2:宠物主人登录[20分钟]用例3:宠物主人购买库存宠物[30分钟]用例4:宠物主人购买新培育宠物[20分钟]用例5:宠物主人卖出宠物给商店[30分钟]23/48用例1:系统启动3-1需求说明在系统启动时,显示所有的宠物信息、宠物主人信息、宠物商店信息系统启动后,提示选择登录模式指导讲解需求说明24/48用例1:系统启动3-2提示分析完成时间:30分钟DAO代码PetDao:getAllPet()查询所有宠物信息PetOwnerDao:getAllOwner()查询所有宠物主人信息PetStoreDao:getAllStore()查询所有宠物商店信息测试类startPetShop():获取相关信息并输出,提示选择登录模式main():调用startPetShop(),启动程序使用JDBC访问MySQL数据库获取相关信息并遍历输出25/48用例1:系统启动3-3正确显示所有宠物信息正确显示所有主人和商店信息提示选择登录模式要求互相验证完成的程序功能小组长检查本组完成情况功能测试26/48常见问题及解决办法代码规范问题调试技巧共性问题集中讲解共性问题集中讲解27/48用例2:宠物主人登录3-1需求说明输入用户名和密码,判断登录是否成功如果成功,输出主人基本信息并提示选择相应操作如果登录失败,提示确认用户名和密码后重新输入指导讲解需求说明28/48用例2:宠物主人登录3-2分析DAO代码PetOwnerDao:selectOwner()根据查询条件查询宠物主人信息Service代码PetOwnerService:login()宠物主人登录测试类ownerLogin():宠物主人登录startPetShop():如果选择主人登录,调用ownerLogin()main():调用startPetShop(),启动程序完成时间:20分钟29/48用例2:宠物主人登录3-3宠物主人登录成功宠物主人登录失败要求互相验证完成的程序功能小组长检查本组完成情况功能测试30/48常见问题及解决办法代码规范问题调试技巧共性问题集中讲解共性问题集中讲解31/48用例3:宠物主人购买库存宠物3-1需求说明主人成功登录后,可选择购买库存宠物显示所有库存宠物列表供主人选择输入宠物编号完成购买购买成功将显示提示信息指导讲解需求说明32/48用例3:宠物主人购买库存宠物3-2分析提示DAO代码Service代码查询所有库存宠物根据主人选择实现购买测试类ownerBuy():宠物主人购买宠物ownerLogin():如果主人购买宠物,调用ownerBuy()根据主人选择实现购买更新宠物信息:指定ownerid更新宠物主人信息:减少元宝数更新宠物商店信息:增加元宝数更新账目信息:添加新账目完成时间:30分钟33/48用例3:宠物主人购买库存宠物3-3显示所有库存宠物根据主人选择实现购买要求互相验证完成的程序功能小组长检查本组完成情况功能测试34/48常见问题及解决办法代码规范问题调试技巧共性问题集中讲解共性问题集中讲解35/48用例4:宠物主人购买新培育宠物3-1需求说明主人成功登录后,可选择购买新培育宠物显示所有新培育宠物列表供主人选择输入宠物编号完成购买购买成功将显示提示信息指导讲解需求说明36/48用例4:宠物主人购买新培育宠物3-2分析实现步骤与购买库存宠物相同购买库存宠物和新培育宠物属于两种不同的业务,在业务接口和实现类中应该定义不同的方法重用数据访问层代码完成时间:20分钟37/48用例4:宠物主人购买新培育宠物3-3功能测试显示所有新培育宠物根据主人选择实现购买要求互相验证完成的程序功能小组长检查本组完成情况38/48常见问题及解决办法代码规范问题调试技巧共性问题集中讲解共性问题集中讲解39/48用例5:宠物主人卖出宠物给商店3-1需求说明显示主人的宠物列表选择要卖出的宠物序号确认卖出宠物显示宠物商店列表选择买家序号完成交易交易成功将显示提示信息指导讲解需求说明40/48用例5:宠物主人卖出宠物给商店3-2DAO代码Service代码获得指定ID的宠物主人的所有宠物信息宠物主人向宠物商店卖出自己宠物测试类ownerSell():宠物主人卖出宠物ownerLogin():如果主人卖出宠物,调用ownerSell()根据主人选择实现购买更新宠物信息:删除ownerid更新宠物主人信息:增加元宝数更新宠物商店信息:减少元宝数更新账目信息:添加新账目分析提示完成时间:20分钟41/48常见问题及解决办法代码规范问题调试技巧共性问题集中讲解共性问题集中讲解42/48用例5:宠物主人卖出宠物给商店3-3显示主人的宠物列表、所有宠物商店列表完成卖出交易,显示成功信息要求互相验证完成的程序功能小组长检查本组完成情况功能测试43/48项目总结作品展示讲解要点完成情况、技能总结、经验分享、项目收获表达要求清晰流畅、有条理、重点突出44/48技能总结主要技能点数据库设计使用类图设计系统使用JDBC操作数据库使用MySQL存储数据DAO层的应用项目流程需求设计开发测试设计:数据库设计、技术框架设计、交互设计45/48相关学习资源

学习平台

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论