Java程序设计—JDBC实验

Posted 上进小菜猪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java程序设计—JDBC实验相关的知识,希望对你有一定的参考价值。

实验超市管理系统——商品的管理

知识点

mysql数据库JDBC

学习目标

1.掌握管理员类和的设计和实现的方法,运用三层架构实现商品管理。

2.掌握MySQL数据库的基本操作。

3.应用JDBC技术实现商品的管理

实验任务

任务一:​

  1. 任务分解及分工

主要任务

任务分解

负责人

创建商品表

根据小组编号,创建对应的商品表

朱博

建立数据库连接

朱博

制作主菜单

朱博

添加商品

朱博

查找商品

1-根据商品编号查找

2-根据商品名称查找

朱博

修改商品

1-根据商品名称查找

2-根据商品编号查找

找到后修改商品的信息

王晓鑫

党国斌

删除商品

1-根据商品编号删除

赵斌

2-根据商品名称删除

孙宗宇

整体调试

朱博

文档收集整理

小组会议拍照;

小组会议记录

朱博

完成实验报告

朱博

增加的其他功能

  1. 查找全部
  2. 查询某个价格的全部商品
  3. 根据价格排序输出
  4. 根据库存排序输出
  5. 循环执行

朱博

Java程序设计—JDBC实验_sql

2、数据库表截图

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

Java程序设计—JDBC实验_mysql_02

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,添加熟食包点

Java程序设计—JDBC实验_sql_03

上述代码块解释:终端输入数字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

添加一条记录。Java程序设计—JDBC实验_mysql_04上述代码块解释:
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,查询熟食包点

举例:按照熟食编号查询

Java程序设计—JDBC实验_sql_05在这里插入图片描述上述代码块解释:
把终端输入的查询目标id存入变量inputeatId,后执行:

UserBean user= service.searchByid(inputeatId);

调用service的方法进行查询。

3.3.1,service.searchByid方法

和上文一样,不多说了,传递的作用。目标dao.searchByid。

3.2.2,dao方法执行查询sql

Java程序设计—JDBC实验_sql_06

上述代码块解释: 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,修改熟食包点

以按照编号修改为例Java程序设计—JDBC实验_mysql_07上述代码块解释:前面和查询操作一样,先执行查询操作,找到目标值。

System.out.println(user.getNumber()+"\\t"+user.geteatname()+"\\t"+user.geteatprice()+"\\t"+user.getspare());

输出目标的查询结果(和上文查询操作一模一样)。Java程序设计—JDBC实验

JAVA实验七——JDBC数据库使用

第十四周课程总结&实验报告

java中JDBC应用示例实验

第十四周课程总结&实验报告(简单记事本的实现)

JDBC:JAVA & Oracle