码迷,mamicode.com
首页 > 编程语言 > 详细

基于控制台的JAVA购物系统

时间:2020-06-19 17:54:28      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:修改   调用   学习   系统   资料   情况下   相关   方法   电脑   

基于控制台的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层的功能区分

调用的流程

可参考JAVA控制台下:控制台商城购物系统(二)项目小结

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

  • 快捷键上的报错

    1. 按F11运行时遇到java异常断点时,控制台是没有输出的,会自动跳到Debug(调试)状态,而且是没有打点(就是一般调式时都会在某一行的左边打个点然后才去点击Debug)情况下。
    2. 最后了解到可能是我用的是可以直接运行的集成Eclipse(在如鹏网上找的),不用安装的这种软件(即集成的)有一定的不确定因素,建议安装比较新版的Eclipse(不集成的)
    3. 最后还是运行完整个步骤,所以也没有去重新安装不集成的Eclipse(电脑空间有限,不想再增加负担),运行的话点击有个三角含在圈圈里的按钮
      技术图片

    技术图片

  • Generated keys not requested的报错

    1. 参考了mysql获取自动生成的主键报错:Generated keys not requested. You need to specify Statement.RETURN_GENERATED_KEYS to Statement.execu
    2. 使用了其中的这一段,
      <br/>将代码修改成这样就不会报错:<br/>pstmt=conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);<br/>rs=pstmt.getGeneratedKeys();<br/>
  • 会员中心的修改资料报错

    1. 更新密码时,控制台输出更新成功,但是数据库就一直没更改过

    2. 后来发现是sql语句的错误

    3. 正确如下
      技术图片

07成品

注意:源码里有几个名字差不多,但是内容不一样的,swing界面实现建议直接看第二个链接的源码内容

这个项目链接:

链接:https://share.weiyun.com/svuAZbn0 密码:a79jh9

我找了班里的几位大佬,请求到了两个项目,他(她)们都用了swing实现
链接:https://share.weiyun.com/38c8CXKG 密码:eaybs7

08小结

  • 我主要在演示代码运行这一块,总的来说回答的还行,边运行边讲解其中的内容
  • 唯一觉得遗憾的是自己swing学的菜,或者根本就没学,还是的静下心来学习
  • 这个项目给我最大的收获是可以把自己学的java内容拼接起来,完成的那一刻是真的开心
  • 与小组成员讨论时,那种一起调试bug时的氛围有点陶醉,也是为自己这个学期学java画个勉强过关的句号

09不足

  1. 断点调式是真的很重要!!!但是我的Eclipse编译器不知道怎么了,断点调试是真的不行,也有可能是我的打开调式的方式不对,所以自己在调式上操作很没有耐心(在小组讨论时,根据组长的提示用打印输出来判断哪里错误,而且还蛮好用,这让我想起用python做练习时,也是经常用打印函数来判断错误)
  2. 没有用swing来完成这个项目,有点遗憾
  3. 另一个组员的想法:如果结合网页来结合这个项目,做到在页面上的用户交互,这样觉得会更好(埋个坑吧,用户有想法了,也来搞一搞)

最后,感谢小组的帮忙,感谢班上大佬的源码!!!

基于控制台的JAVA购物系统

标签:修改   调用   学习   系统   资料   情况下   相关   方法   电脑   

原文地址:https://blog.51cto.com/14850355/2505899

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!