【实验室集训大作业】JDBC实现宠物商店
宠物商店
前言
这次的寒假大作业宠物商店,我是通过Java和MySQL实现的,具体的操作在下文会给出详细说明!
另外,由于Java和MySQL都是寒假刚学的,然后这个项目是边学边做的,所以有些方法在学习后期看起来很稚嫩,但是由于本人的懒惰((lll¬ω¬),在后期没有简化修改,但是还是用基本的方法实现了这个自己设计的宠物商店!
IDEA 版本 2020.3
MySQL版本 5.7.19
mysql-connector-java 驱动包版本 5.1.47
(附件中有数据库文件和MySQL驱动包文件)
总项目工程:
MySQL表:
设计思路
这个宠物商店的设计思路如下图所示:
这个UML图仅是商店大题的方法,有些选项之后还有细小选项需要选择!
设计思路如下:
1、在MySQL创建4张表,分别是——店主表shopkeeper,管理员表admin,宠物表pet,游客表visitor。四张表的内容在图中都有显示。
2、设计商店菜单,包括各种功能的菜单。首先是商店主菜单,然后再是店主操作菜单,管理员操作菜单,游客操作菜单。
3、设计每个菜单对应身份的对应方法,通过不同方法实现不同功能。
4、用JDBC操作将Java与MySQL连接,实现方法代码直接对MySQL中的表进行增删改查等操作。
以上就是简单的设计思路了,至于每个方法的不同功能,图中都有显示!
功能说明
1、店主登录
店主是宠物店唯一的存在,也就是说,店主表中只有一个店主的信息,我在店主表中给予的信息是 id=1,keepername = keeper,password = 123456。
在我想象的宠物店中,店主是不会直接管理宠物的,所以我将管理宠物的权限给予了管理员,而店主的权力就是——管理管理员。所以店主有如下操作:
1、新增管理员
2、删除管理员
3、更改管理员信息
4、查修管理员信息(所有管理员)
5、更改店主用户名
6、更改店主密码
7、退出并返回主菜单
1、2、3、4操作都是通过MySQL对admin表进行一系列操作实现的
5、6操作则是通过MySQL对shopkeeper表进行操作实现的
2、管理员登录
一个宠物店有很多管理员,他们都是被店主授权管理的,不存在一个管理员将一个普通人提拔为宠物店管理员。而管理员在宠物店中的权限有如下:
1、上架宠物
2、下架宠物
3、更改宠物名字
4、查询某类宠物信息
5、查询所有宠物信息
6、更改用户名
7、更改密码
8、退出并返回主菜单
1、2、3、4、5操作是通过MySQL对pet表进行增删改查实现的
6、7操作则是通过MySQL对admin表进行更改操作实现的
值得一提的是:
1、上架宠物会自动记录上架日期,pet表中的birthday就是记录这个数据
2、选择查询某类宠物信息后,会提示选择查询哪类宠物,按条件输入即可查询
3、更改宠物名字是,不能将宠物名重名,因为在pet表中petname是主键
3、游客登录
一个宠物店有很多游客,通过注册的方式即可登录宠物店。游客在宠物店中没有管理权限,但是可以购买宠物,并且对自己旗下拥有的宠物进行很多有趣的互动!游客能够进行的操作如下:
(在主菜单选择注册后即可登录)
1、购买宠物
2、出售宠物
3、查询自己的宠物
4、查询宠物店宠物
5、查询自己的宠物食物
6、购买宠物食物(5份)
7、与宠物嬉戏
8、治疗宠物
9、更改密码
10、退出并返回主菜单
1、2、3、4、5、7、8操作是通过MySQL对pet表进行增删改查实现
6、9操作是通过MySQL对visitor表进行更新实现
值得一提的是:
1、购买宠物时会自动记录购买时间,pet表中的buy_day就是记录这个数据
2、出售宠物不会将宠物的数据删除,仅仅是把该只宠物出售给宠物店,清零master(主人)、buy_day(购买日期)和love(亲密度)的数据。
3、查询自己宠物时,会看到自己宠物的所有属性(品种、名字、上架日期、购买日期、主人名字、好感度、是否健康),而查询宠物店宠物则不会显示购买日期、主人名字、好感度信息。
4、与宠物嬉戏的操作包括(遛狗狗、撸猫猫、玩金鱼、逗仓鼠、喂食物)前四种操作必须有相对应的宠物才能完成,喂食物任何宠物都可以完成。这五种操作都会增加宠物好感度,但是前四种操作有1/25的概率使宠物受伤、变得不再健康,这时候就要去治疗宠物,否则无法再进行前四种嬉戏操作。
5、注册游客用户名时不能重名,因为visitor表中username是主键
运行截图
店主登录
店主新增管理员
店主删除管理员
店主更改管理员信息
店主查询管理员信息
店主更改用户名
店主更改密码
管理员登录
管理员上架宠物
管理员下架宠物
管理员更改宠物名字
管理员查询某类宠物信息
管理员查询所有宠物信息
管理员更改用户名
管理员更改密码
游客注册
游客登陆
游客查询宠物店无主人宠物
游客购买宠物
游客出售宠物
游客查询自己宠物
游客购买宠物食物
游客与宠物嬉戏
游客给宠物喂食
治疗宠物(受伤才会有显示)
游客更改密码
项目总结
其实宠物商店这个项目其实构思了很久,但是途中发现我很多的突发奇想、有趣的点子,由于自己的技术受限无法实现,所以在写完这个项目后,我又开始了新一轮的学习。原本以为MySQL实现的宠物商店会别具一格,但是发现,归根到底还是对数据进行增删改查。由于这个项目是Java入手的第一个项目,而且是在MySQL学习过程中写出来的劣质品,所以在一开始我的思想还是偏向c语言类型的面向过程,我把很多的函数写在一个类中,用static方式调用,并没有做出一些实例化的对象出来。但是在不断的学习过程中,我好像有点渐渐懂得了面向对象的内涵,我开始把游客与宠物嬉戏的很多操作写在了一个类中,并且构建了宠物父类pet,dog、cat、fish等子类。由于时间和惰性,我有很多的点没有更改,即使想到了更好的解决方法,也面对着改了一处就要改n处的问题。所以并没有选择大改,仅仅是在后期应用了面向对象的知识点,但我觉得这是远远不够的,还有很多等待着我去学习。所以,在这个项目总结中立下一个flag,大一下学期一定要再次设计一个运用更多知识和技术实现的宠物商店!
【实验室集训大作业】JDBC实现宠物商店相关推荐
- HTML5期末大作业:动物宠物主题网站设计——宠物网(8页)HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 web学生网页设计作业源码...
常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. 茶叶. 家居. 酒店. 舞蹈. 动漫. 明星. 服装. 体育. 化妆品. 物流. 环保. 书籍. 婚纱. 军 ...
- HTML5期末大作业:服装购物网站设计——粉色服装购物商城(4页) 服装购物商城网页设计作品 大学生购物专题网页设计作业模板 商店静态HTML网页模板下载
HTML5期末大作业:服装购物网站设计--粉色服装购物商城(4页) 服装购物商城网页设计作品 大学生购物专题网页设计作业模板 商店静态HTML网页模板下载 常见网页设计作业题材有 个人. 美食. 公司 ...
- HTML5期末大作业:生活类购物商城网站设计——生活类购物商城模板(2页)学生商店网页作品
HTML5期末大作业:生活类购物商城网站设计--生活类购物商城模板(2页) 大学生购物网页制作教程 表格布局网页模板 学生HTML商城网页设计作业成品 简单网页制作代码 学生商店网页作品 常见网页设计 ...
- HTML5期末大作业:动物网站设计——宠物狗(10页) HTML+CSS+JavaScript 大学生静态网页设计 dw宠物网页设计 狗狗网页设计html web课程设计网页规划与设计...
常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. 茶叶. 家居. 酒店. 舞蹈. 动漫. 明星. 服装. 体育. 化妆品. 物流. 环保. 书籍. 婚纱. 游 ...
- HTML5期末大作业:宠物之家网站设计——代码质量好宠之家(5页) HTML+CSS+JavaScript web期末作业设计网页
HTML5期末大作业:宠物之家网站设计--代码质量好宠之家(5页) HTML+CSS+JavaScript web期末作业设计网页 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商 ...
- HTML5期末大作业:宠物主题网站设计——酷酷动物主题响应式网页(5页) HTML+CSS+JavaScript...
1.临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手? 网页要求的总数量太多? 2.没有合适的模板?等等一系列问题.你想要解决的问题,在这篇博文中基本都能 ...
- web课程设计网页规划与设计:宠物狗狗网站设计——动物介绍(8页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 HTML网页设计制作大作业
HTML5期末大作业:宠物狗狗网站设计--动物介绍(8页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码 常见网页设计作业题材 ...
- 安卓期末大作业——鲜花商店APP(源码+任务书)
安卓期末大作业--鲜花商店APP(源码+任务书) <移动应用开发> 课程考核报告 姓 名: 学 号: 完 成 日 期 2022年 5月 建议从以下方面填写:1. 课题的作用和意 ...
- 安卓大作业 安卓小游戏 养宠物战斗游戏(可以注册登录)
宠物类养成游戏 (下载链接在文末)可以注册登录,移动开发大作业,适合初学者学习使用 详情如图: 点我下载资源 https://download.csdn.net/download/weixin_434 ...
最新文章
- 计算相机采集帧率C实现
- 设计sample语言的词法分析器_重现木兰编程语言(十)——比较、循环,一个语法设计特色
- 名称空间与作用域、闭包函数、 装饰器
- 约瑟夫环问题(带密码)
- service启动activity_「 Android 10 四大组件 」系列—Service 的 quot; 启动流程 quot;
- 因合约代码Bug,约2.2亿元11539枚以太币被永久锁定
- 【Mybatis】Mybatis三大组件之ResultSetHandler
- 360桌面整理计算机图标,电脑界面上的图标被360清理掉了,怎么恢复呢?
- 【微机原理与接口技术】学习笔记9 DMA控制器8237A
- ubuntu 18.04.6 内网PXE实战preseed案例
- 关于ip、pv、uv的概念
- 如何制作网页教程:如何制作网页最简单的方法
- 农业纺织品市场现状研究分析与发展前景预测报告
- 人才测评之计划能力,如何提高计划能力?
- 某购票软件破解分析攻略
- 5 kyu some egyptian fractions
- 操作系统笔记——Linux系统实例分析、Windows系统实例分析
- 程序员面试100题之六 最长公共子序列
- 什么级别的企业可以进行数字化转型?
- uboot----getenv_IPaddr代码解析
热门文章
- mc服务器地皮系统权限指令,我的世界地皮指令大全
- android透明功能引导页,Android 利用PagerView做引导页
- android canvas画渐变背景,View绘制系列(13)-Canvas渐变属性绘制
- 算法:根据四色定理(Four color theorem),求出地图的所有着色方案
- (七)DKN:用于新闻推荐的深度知识感知网络
- torch之optimizer.step() 和loss.backward()和scheduler.step()的关系与区别
- vop破芙工艺-注意事项
- JavaWeb进阶之路:MyBatis-CURD(增删改查)
- 【TA-霜狼_may-《百人计划》】图形4.5 DoF景深基础
- 920quiz+922复杂度+927quiz2