Java程序设计—JDBC实验

胸怀万里世界, 放眼无限未来。这篇文章主要讲述Java程序设计—JDBC实验相关的知识,希望能为你提供帮助。
实验超市管理系统——商品的管理
知识点?
mysql数据库JDBC?
学习目标?
1.掌握管理员类和的设计和实现的方法,运用三层架构实现商品管理。?
2.掌握MySQL数据库的基本操作。?
3.应用JDBC技术实现商品的管理?
实验任务?
任务一:?




  1. 任务分解及分工?
主要任务?
任务分解?
负责人?
创建商品表?
根据小组编号,创建对应的商品表?
朱博?
建立数据库连接?
?
朱博?
制作主菜单?
?
朱博?
添加商品?
?
朱博?
查找商品?
1-根据商品编号查找?
2-根据商品名称查找?
朱博?
?
修改商品?
1-根据商品名称查找?
2-根据商品编号查找??
找到后修改商品的信息?
王晓鑫?
党国斌?
删除商品?
1-根据商品编号删除?
赵斌?
?
2-根据商品名称删除?
孙宗宇?
整体调试?
?
朱博?
文档收集整理?
小组会议拍照;?
小组会议记录?
朱博?
完成实验报告?
?
朱博?
增加的其他功能?
  1. 查找全部?
  2. 查询某个价格的全部商品?
  3. 根据价格排序输出?
  4. 根据库存排序输出?
  5. 循环执行?
朱博?
?


2、数据库表截图?
包含数据库名,商品表名,商品表的记录,参照用户信息表的截图?




3、确定分工后,进一步确定方法?
按照给出的例子,填写方法的相关信息?
功能?
返回类型?
方法名?
添加熟食包点?
Bun?
Addeat()?
根据熟食包点编号删除?
根据熟食包点名称删除?
Bun?
Bun?
DeleteeatNumber()?
DeleteeatName()?
根据熟食包点编号修改?
根据熟食包点名称修改?
Bun?
Bun?
CorrecteatNumber()?
CorrecteatName()?
根据熟食包点编号查找?
根据熟食包点名称查找?
查询某个熟食包点价格的全部商品?
查找全部?
Bun?
Bun?
Bun?
Bun?
FindeatNumber()?
FindeatName()?
Findspare()?
Findall()?
根据熟食包点价格排序输出?
根据熟食包点库存排序输出?
Bun?
Bun?
Sortprice()?
sortspare()?

4、如果有小组会议讨论或一对一的讨论,进行截图?

任务二 完成个人任务?
按照分工完成个人任务。?
每个组员,写自己负责的功能的个人任务报告。?
组长最后讲个人任务报告填入到最后一部分附件:个人任务报告中。?
(文件命名为“第X组-XXX个人任务报告”,组长收齐个人任务报告,放在“第X组个人任务报告”压缩文件中,发到QQ群。)?
个人任务报告主要内容包括:?
1、功能描述?
说明要实现一个什么样的功能,对哪个数据表操作,操作的结果是什么,用户交互是什么样的,即用户输入什么数据,UI界面显示什么数据。?
2、功能实现?
(1)功能的涉及的类,Eclipse左侧导航栏的包名和类名的截图?
(2)顺序的按照实现功能所在的类,粘贴代码?
3、运行结果?
运行结果截图?
4、总结?
总结功能实现过程中的经验,比如,遇到什么问题,采用什么方法解决的??
任务三组内考核?
组长召开腾讯会议,考核个人任务完成情况,给出组内个人考核成绩(A、B或C)?
提交材料包括:?
1、腾讯会议的录屏文件?
组员顺序进行个人功能展示。展示期间要全程开放摄像头,组员一定出镜。?
每个组员顺序的屏幕分享,展示并讲解实现的功能,一定是组员自己讲。?
这个录屏文件和个人任务报告是作为教师打分的依据。?
2-组内讨论个人考核的成绩。?
组长的成绩不用在组内考核,组长在汇报后,组长成绩是小组考核成绩档次+1,比如,小组成绩为良,组长成绩为优;?

任务四4月21日小组汇报?
讲解小组分工及小组成员完成情况。?
讲解实现的基本功能和增加的功能。?
讲解部分重要的功能如何实现。?
每个小组可以由多名同学分别讲解汇报。?
附件:个人任务报告?
一、组长个人任务报告?
一,前言?这是java老师的一个小组任务。拿来练手,让我对Java入门有了一些基本的感悟与熟悉。?
二,页面设计?五组——熟食包点?
1-添加熟食包点
2-删除熟食包点
/ > 按照编号删除
/ > 按照名称删除
3-修改熟食包点
/ > 按照编号修改
/ > 按照名称修改
4-查询熟食包点
/ > 按照熟食编号查询
/ > 按照熟食名称查询
/ > 按照熟食价格查询
/ > 查询全部熟食
5-排序熟食包点
/ > 按照价格排序
/ > 按照库存排序
6-退出熟食包点
请输入数字,选择菜单功能:?
如上为基本的页面设计。?
三,具体描述?3.1,添加熟食包点?

上述代码块解释:终端输入数字1进入adduser方法,执行添加操作。 依次输入熟食编号,熟食名称,熟食价格,熟食库存。?
service.addUser(uid, eatname, eatprice, spare); ?
调用service的方法进行添加。?
3.1.1,service.addUser方法?
public void addUser(String uid, String eatname, String eatprice, String spare) throws SQLException
dao.addUser(uid, eatname, eatprice, spare);
?
接受ui传递的四个属性值,调用dao,进行添加。 起了一个中间传递的作用。?
3.1.2,dao方法执行添加sql?
添加一条记录。上述代码块解释:
PreparedStatement:是包中的一个接口,继承Statement,里面有已编译的 SQL 语句。 我觉得他的作用就是简化sql繁琐的拼接过程,方便使用。 里面的sql语句里的?就是他的功劳,提高代码的可读性和可维护性。 执行INSERT 添加sql语句。 后使用executeUpdate抽象方法,返回更新计数。?
3.2,删除熟食包点?
按照编号删除和按照名称删除基本差不多,我们已按照编号删除来写一下。 ui核心代码:?
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int m = service.delete(a); ?
把我们需要删除的id输入,存储到变量a,执行service.delete方法,传递a给service类。?
3.2.1,service.delete方法?
public int delete(int a) throws SQLException
// TODO Auto-generated method stub
return dao.deletewww(a);
?
依然是传递作用哈。调用dao,进行删除。?
3.2.2,dao方法执行删除sql?
public int deletewww(int a) throws SQLException
String sql = "DELETE FROM eat WHERE uid=?";
PreparedStatement pstmt = (PreparedStatement) conn.prepareStatement(sql);
pstmt.setInt(1, a);
return pstmt.executeUpdate();
?
如上代码解释:
较为简单获取传递的目标id值,执行删除sql语句。 后使用executeUpdate抽象方法,返回更新计数。?
3.3,查询熟食包点?举例:按照熟食编号查询?
在这里插入图片描述上述代码块解释:
把终端输入的查询目标id存入变量inputeatId,后执行:?
UserBean user= service.searchByid(inputeatId); ?
调用service的方法进行查询。?
3.3.1,service.searchByid方法?
和上文一样,不多说了,传递的作用。目标dao.searchByid。?
3.2.2,dao方法执行查询sql?

上述代码块解释: executeQuery()方法来下达select指令以查询数据库。 rs.next():指针指向下一条记录,如果有记录,返回true?
user=new UserBean(u,n, psw,s); ?
传入UserBean实体类。?
如果传递的user不为空,执行输出语句。?
System.out.format("%-2s %-8s %-5s %-5s"+\\n,"食品编号","食物名称","食物价格","食品库存");
。。。
System.out.format("%-8s %-8s %-8s %-5s "+\\n,user.getNumber(),user.geteatname(),user.geteatprice(),user.getspare()); ?
为了规范输出,对其操作。?
3.4,修改熟食包点?以按照编号修改为例上述代码块解释:前面和查询操作一样,先执行查询操作,找到目标值。?
System.out.println(user.getNumber()+"\\t"+user.geteatname()+"\\t"+user.geteatprice()+"\\t"+user.getspare()); ?
【Java程序设计—JDBC实验】输出目标的查询结果(和上文查询操作一模一样)。

    推荐阅读