程序设计实践、数据库、智能系统实践大作业--基于协同过滤算法的java点餐平台v1.5(较复杂、超详细)

目录

一、效果展示

二、所需知识

三、准备工作

1、数据库准备

2、java连接数据库

四、代码理解

1、数据库连接部分

2、其余部分

五、资源

六、常见问题

1、数据库连接失败

2、缺失文件

七、遇到的问题以及部分解答


一、效果展示

二、所需知识

数据库设计、java-swing相关知识(布局、嵌板、监听器、警告窗口)、java类与对象的知识(继承、重写、子父类方法调用)、java接口、访问权限、java系统时间、抛出异常

三、准备工作

1、数据库准备

不需要对表进行复杂设计,表的复杂操作均在java代码中,数据库创建基于navicate,请严格按照标题命名

(1)创建staff表

(2)创建orders表

(3)创建menu表

(4)创建information_staff表

(5)创建information_employer表

(6)创建board表(餐桌)

2、java连接数据库

(1)访问mysql官网下载配置文件

官网链接:https://dev.mysql.com/downloads/connector/j/

但最近官网有点儿问题,不介意可以使用较古老版本,这里我把百度网盘链接放这里 

网盘链接:https://pan.baidu.com/s/1Qe8_wpVtGX9dF6gUNcOQKQ?pwd=2022 

提取码:2022

(2)将该文件解压到方便的位置,最好以libs_mysql命名

(3)我这里使用的是vscode编译器,直接在JAVA PROJECTS目录下,找到Referenced Libraries,点击+号,找到解压的文件夹,选择就可以了

 

 如图,点击+号后进入系统选择文件

 (4)归根结底就是导入外面的包,如果是其它编译器,请自行查询如何导入,这里给出其它博主的一个文章,比较全

链接:https://blog.csdn.net/firstlt0217/article/details/106213156?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165935192816782390517875%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165935192816782390517875&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-106213156-null-null.142^v37^pc_search_v2&utm_term=%20java%E8%BF%9E%E6%8E%A5%E6%95%B0%E6%8D%AE%E5%BA%93&spm=1018.2226.3001.4187

四、代码理解

1、数据库连接部分

 (1)修改DB_URL为自己数据库所在位置,你自己的基本表在哪儿,就修改成哪个数据库,这是我的数据库,对应上面的链接,前面的基本不用改,只用改test(基本情况下,我这里命名的是java)

 (2)修改username和password,修改成自己数据库的登录账号和密码,注意是string类型,要加上双引号

(3)数据库语句引用只需要导入sql.*库就行

2、其余部分

(1)本代码包含基本的增删改查,但并未全部使用,在应用中,因为加上去使用的代码行数就太多了

(2)基本内容都有注释,同类型注释不会重复,之后我会着重注意此部分的撰写

(3)初始运行文件是sing_start文件夹下的start.java

五、资源

百度网盘链接:https://pan.baidu.com/s/1QA-HKwy4mKI4l4CGHfQDEg?pwd=2022 

提取码:2022

六、常见问题

1、数据库连接失败

(1)仔细检查自己的链接和用户名密码

(2)是否导入库

(3)可以在try中假如println方便查看是否成功

2、缺失文件

使用包含编译文件的restaurant文件夹

七、遇到的问题以及部分解答

1、卡片布局下,如何通过按钮实现翻页功能(这个东西真的坑特别多,差点儿给我搞崩了)

(1)一定要保证,你在total总嵌板下,把其它嵌板全部add上(一定不要通过在翻页途中去add新的嵌板,这样写的话,后面加新功能会十分不便,而且逻辑是不清楚的)

(2)使用一个count计数,每翻一页就加1,然后在监听事件中对count进行判断

(3)如果后续的嵌板的参数前面的嵌板的监听事件决定,那么你可以使用函数,通过函数返回值来得到前面嵌板的监听事件的结果,然后传入你已经赋初值的后续嵌板,来改变后续嵌板里面的参数

2、如何实现java与python的结果互通,也就是java的值传入python中作为参数,然后python返回的结果又传入到java中进行后续操作,请见我下面的文章:

最后想说的话:这个项目如果我有时间我会持续更新完善,我对以前的代码进行了优化,删掉了一些冗余且不符合实际的东西,然后加入了新的注释。最后我希望能做一个前后端连接起来的作品,目前最新加入了协同过滤算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值