基于控制台的JAVA购物系统
01效果展示:
系统功能:
1、 会员中心
1.1修改资料
1.2我的订单
1.3我的礼物
1.4返回上层
2、 进入购物
2.1选择商品
2.2返回上层
3、 试试手气
3.1开始手气之旅
3.2返回上层
4、退出系统
功能说明:
首先进入主界面:
用户输入1,会员中心,显示以下菜单:
用户输入2,进入购物,显示以下菜单:
用户输入3,试试手气,显示以下菜单:
用户输入4,退出系统,显示以下:
项目要求:
02分层结构的理解:
分层效果图:
基础学习的时候采用的是,表示层、持久层、业务层:
java三层架构:表示层、持久层、业务层
1、表示层(view):负责页面的渲染和数据的显示。
2、持久层(dao):数据访问,封装了对数据库访问细节,数据库增删改查的方法
3、业务层(service):业务逻辑层,处理业务操作,可以和外部系统交流,一般项目都用service比较多,service供外部调用,等于对dao,modal(实体类)等进行了包装,从而增加了这么一个层次,主要为了降低耦合,面向接口编程。
entity:实体层,与数据库的某个表相关联,modal一般都是对象。
action层:引用对应的Service层
更多的三层架构内容可参考:JAVA中Action层, Service层 ,model层 和 Dao层的功能区分
调用的流程
03 视频演义的部分
用手机微信扫一扫登录(如果扫一次登录界面还是存在,那尝试重新再扫一次)
视频链接如下:
视频1(JDBC封装):
https://ke.qq.com/webcourse/index.html#cid=2501502&term_id=102606087&taid=31744082&lite=1&vid=5285890803972080479
视频2(项目展示,登录功能实现):
https://ke.qq.com/webcourse/index.html#cid=2501502&term_id=102606087&taid=31861685&lite=1&vid=5285890804012380061
视频3(项目功能实现):
https://ke.qq.com/webcourse/index.html#cid=2501502&term_id=102606087&taid=31902831&lite=1&vid=5285890804032047493
后续有机会补似网盘符形式的链接
04 视频演示内相关资源下载
资源链接:
链接:https://share.weiyun.com/DErlw1iJ 密码:6fieui
如下三图:
注意:SQLyog加压后得到如下图,其中sn.txt* 为激活码,激活后直接点击SQLyog.exe运行即可*
如果你电脑安装除了有mysql5.5还有mysql8.0或以上时,这时你需要关闭mysql8.0或以上,SQLyog才能连接。
05 参考视频演示以及大神的源码
首先是观看视频1、2、3照着码
再参考大神的源码接着码
如果自己静下心来、认真的话以及有同学帮你忙(旁观者清嘛!),个人用大概一天是可以完成的(因为第二天就答辩了)
最后就是调试了
参考大神的的源码:JAVA控制台下:控制台商城购物系统(二)项目小结
06 遇到的小bug
-
快捷键上的报错
- 按F11运行时遇到java异常断点时,控制台是没有输出的,会自动跳到Debug(调试)状态,而且是没有打点(就是一般调式时都会在某一行的左边打个点然后才去点击Debug)情况下。
- 最后了解到可能是我用的是可以直接运行的集成Eclipse(在如鹏网上找的),不用安装的这种软件(即集成的)有一定的不确定因素,建议安装比较新版的Eclipse(不集成的)
- 最后还是运行完整个步骤,所以也没有去重新安装不集成的Eclipse(电脑空间有限,不想再增加负担),运行的话点击有个三角含在圈圈里的按钮
-
Generated keys not requested的报错
- 参考了mysql获取自动生成的主键报错:Generated keys not requested. You need to specify Statement.RETURN_GENERATED_KEYS to Statement.execu
- 使用了其中的这一段,
将代码修改成这样就不会报错: pstmt=conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS); rs=pstmt.getGeneratedKeys();
-
会员中心的修改资料报错
更新密码时,控制台输出更新成功,但是数据库就一直没更改过
后来发现是sql语句的错误
-
正确如下
07成品
注意:源码里有几个名字差不多,但是内容不一样的,swing界面实现建议直接看第二个链接的源码内容
这个项目链接:
链接:https://share.weiyun.com/svuAZbn0 密码:a79jh9
我找了班里的几位大佬,请求到了两个项目,他(她)们都用了swing实现
链接:https://share.weiyun.com/38c8CXKG 密码:eaybs7
08小结
- 我主要在演示代码运行这一块,总的来说回答的还行,边运行边讲解其中的内容
- 唯一觉得遗憾的是自己swing学的菜,或者根本就没学,还是的静下心来学习
- 这个项目给我最大的收获是可以把自己学的java内容拼接起来,完成的那一刻是真的开心
- 与小组成员讨论时,那种一起调试bug时的氛围有点陶醉,也是为自己这个学期学java画个勉强过关的句号
09不足
- 断点调式是真的很重要!!!但是我的Eclipse编译器不知道怎么了,断点调试是真的不行,也有可能是我的打开调式的方式不对,所以自己在调式上操作很没有耐心(在小组讨论时,根据组长的提示用打印输出来判断哪里错误,而且还蛮好用,这让我想起用python做练习时,也是经常用打印函数来判断错误)
- 没有用swing来完成这个项目,有点遗憾
- 另一个组员的想法:如果结合网页来结合这个项目,做到在页面上的用户交互,这样觉得会更好(埋个坑吧,用户有想法了,也来搞一搞)
最后,感谢小组的帮忙,感谢班上大佬的源码!!!