0
点赞
收藏
分享

微信扫一扫

Java程序设计—JDBC实验

624c95384278 2022-05-21 阅读 64

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

知识点

MySQL数据库JDBC

学习目标

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

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

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

实验任务

任务一:​

  1. 任务分解及分工

主要任务

任务分解

负责人

创建商品表

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

朱博

建立数据库连接

朱博

制作主菜单

朱博

添加商品

朱博

查找商品

1-根据商品编号查找

2-根据商品名称查找

朱博

修改商品

1-根据商品名称查找

2-根据商品编号查找

找到后修改商品的信息

王晓鑫

党国斌

删除商品

1-根据商品编号删除

赵斌

2-根据商品名称删除

孙宗宇

整体调试

朱博

文档收集整理

小组会议拍照;

小组会议记录

朱博

完成实验报告

朱博

增加的其他功能

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

朱博

Java程序设计—JDBC实验_java

2、数据库表截图

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

Java程序设计—JDBC实验_sql_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实验_mysql_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实验_sql_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实验_java_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实验_sql_07上述代码块解释:前面和查询操作一样,先执行查询操作,找到目标值。

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

输出目标的查询结果(和上文查询操作一模一样)。

之后输入输入新的食物名称,输入新的食物价格,输入新的食物库存。后执行updateid方法。

3.4.1,service.updateid方法

和上文一样,不多说了,传递的作用。调用dao的searchByupdateid

3.4.2,dao方法执行更新sql

String sql ="update eat set eatname=?,eatprice=?,spare=? where uid=?";
PreparedStatement pstmt =(PreparedStatement) conn.prepareStatement(sql);

使用PreparedStatemen接口,继承Statement。 执行update sql更新语句。 将传递来的新目标变量,存入数据库中。

3.5排序熟食包点

以按照按照价格排序为例。

System.out.println("按照价格排序:");
ResultSet rs = service.sortprice();

先执行service.sortprice方法。

3.5.1,service.updateid方法

和上文一样,不多说了,传递的作用。调用dao的dao.sortprice

3.5.2,dao方法执行排序sql

public ResultSet sortprice() throws SQLException {
Statement stmt = conn.createStatement();
//String sql = "select * from eat";//表名
String sql ="select * from eat order by eatprice desc";
ResultSet rs = stmt.executeQuery(sql);
return rs;
}

上述代码解释:执行排序sql语句以eatprice为目标建执行降序排序操作。

返回排序后的对象。

3.5.3,返回ui输出排序后

Java程序设计—JDBC实验_sql_08while遍历结果集。 规定每一个元素占位符大小,为了美观好看,整齐。

四,运行结果​

Java程序设计—JDBC实验_sql_09

增:

Java程序设计—JDBC实验_mysql_10

删:

Java程序设计—JDBC实验_java_11

改:

Java程序设计—JDBC实验_sql_12

查:

Java程序设计—JDBC实验_java_13

排:

Java程序设计—JDBC实验_sql_14

总结

这是我当时做小组任务时在我博客发的一篇文章,直接粘贴过来了,本次实验收获很大,对应遇到问题就是我对python操作mysql比较熟悉,现在换为java有一些陌生,让我对Java对MySQL的操作有了初步的学习,对sql的增删改查以及排序都有了一定的初步了解,对我逐步转型java方向开发起了很大的推动作用。

  1. 组员1个人任务报告第五组党国斌个人任务报告
    一、功能描述
    我负责的功能是根据商品编号查找,并修改找到后商品的信息。
    首先,要实现修改这个操作分为两步,第一步,在修改之前要完成查询这个操作。用户在UI界面输入一个查询的编号,然后传递给service,然后通过service再传递给dao,我们在dao里面进行查找,dao查找的结果再返回service,service再传回到IU,通过IU
    将其封装成一个User Bean对象,如果没有查找到则返回null。这样我们就完成了第一步。
    第二步,我们在键盘获取用户输入的修改信息,将修改信息封装成对象,将其传递给dao,将表中的password修改,dao再使用参数user的属性,更新数据表。
    首先用户在UI界面输入3,进入修改界面再输入1选择用编号查询并修改,然后在键盘输入一个数字,如果数据库中有对应编号,则显示对应该数字的一条信息,(反之,则显示没有找到该信息。)在找到对应信息之后,我们在键盘输入要修改的价格之后,按enter,就完成了信息的修改。
    二、功能实现
    Java程序设计—JDBC实验_mysql_15
    包名和类名

    Java程序设计—JDBC实验_sql_16
    public class UserBean {
    private String uid;
    private String eatname;//用户名
    private String eatprice;//密码
    private String spare;
    //构造方法,带参数
    public UserBean(String uid, String eatname, String eatprice,String spare) {
    this.uid = uid;
    this.eatname = eatname;
    this.eatprice = eatprice;
    this.spare = spare;
    }
    //set和get
    public String getNumber() {
    return uid;
    }
    public void setNumber(String uid) {
    this.uid = uid;
    }
    public String geteatname() {
    return eatname;
    }
    public void setName(String eatname) {
    this.eatname = eatname;
    }
    public String geteatprice() {
    return eatprice;
    }
    public void seteatprice(String eatprice) {
    this.eatprice = eatprice;
    }

    public String getspare() {
    return spare;
    }
    public void setspare(String spare) {
    this.spare = spare;
    }
    @Override
    public String toString() {
    // TODO Auto-generated method stub
    return uid+"\t---\t"+eatname+"\t---\t"+eatprice+"\t---\t"+spare;
    }

    }

    Java程序设计—JDBC实验_mysql_17
    public void searchByupdateid(UserBean user) throws SQLException {

    String sql ="update eat set eatname=?,eatprice=?,spare=? where uid=?";
    PreparedStatement pstmt =(PreparedStatement) conn.prepareStatement(sql);

    pstmt.setString(1, user.geteatname());
    pstmt.setString(2, user.geteatprice());
    pstmt.setString(3, user.getspare());
    pstmt.setString(4, user.getNumber());
    pstmt.executeUpdate();
    }
    Java程序设计—JDBC实验_java_18
    public UserBean searchByid(String inputeatid) throws SQLException {
    // TODO Auto-generated method stub
    return dao.searchByid(inputeatid);
    }
    public void updateid(UserBean user) throws SQLException {
    // TODO Auto-generated method stub
    dao.searchByupdateid(user);
    }

    Java程序设计—JDBC实验_mysql_19
    // 修改中间
    private static void updatazhong() throws SQLException {
    System.out.println("--1-按照编号修改 ------");
    System.out.println("--2-按照名称修改 ------");
    int inputNumber;
    Scanner input = new Scanner(System.in);
    inputNumber = input.nextInt();// 输入整数
    switch (inputNumber) {
    case 1:
    updateid();
    break;
    case 2:
    updatename();
    break;
    }
    }
    private static void updateid() throws SQLException {
    // TODO Auto-generated method stub
    System.out.println("输入要修改的食物编号:");
    Scanner in = new Scanner(System.in);
    String inputeatId=in.next();
    UserBean user= service.searchByid(inputeatId);
    if(user!=null)
    {
    System.out.println(user.getNumber()+"\t"+user.geteatname()+"\t"+user.geteatprice()+"\t"+user.getspare());
    // System.out.println("输入新的食物编号:");
    // String inputnewid=in.next();
    // user.setNumber(inputnewid);
    System.out.println("输入新的食物名称:");
    String inputnewname=in.next();
    user.setName(inputnewname);
    System.out.println("输入新的食物价格:");
    String inputnewprice=in.next();
    user.seteatprice(inputnewprice);
    System.out.println("输入新的食物库存:");
    String inputnewspare=in.next();
    user.setspare(inputnewspare);
    //~~~~~
    service.updateid(user);
    }
    else
    {
    System.out.println("没有找到相关信息!");
    }
    }

  2. 组员3个人任务报告第五组孙宗宇个人任务报告
    Java程序设计—JDBC实验_sql_20
    SupereatUI:
    package Supereat;




    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.Scanner;

    import javax.naming.spi.DirStateFactory.Result;
    import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter.DEFAULT;


    /*
    * 用户界面
    */
    public class SupereatUI {


    static SupereatService service=new SupereatService();
    public static void main(String[] args) throws SQLException {
    // TODO Auto-generated method stub

    //菜单
    //
    System.out.println("---食品商品管理---");
    System.out.println("--1-查询 ------");
    System.out.println("--2-删除 ------");
    System.out.print("请输入数字,选择菜单功能:");
    // 输入选项
    int inputNumber;
    Scanner input = new Scanner(System.in);
    inputNumber = input.nextInt();// 输入整数
    switch(inputNumber){
    case 1:
    serachAllname();//查询,返回一个UserBean对象的List集合
    break;
    case 2:

    deleteName();
    break;
    default:break;
    }
    }

    private static void deleteName() throws SQLException {
    // TODO Auto-generated method stub
    //删除用户,输入用户名,删除对应的记录
    System.out.println("请输入要删除商品的名字:");
    Scanner in=new Scanner(System.in);
    String inputName=in.next();
    int count=service.deleteName(inputName);
    System.out.println("已将名字为"+inputName+"的商品删除,执行成功");

    }
    private static void serachAllname() throws SQLException {
    // TODO Auto-generated method stub
    System.out.println("查询商品所有记录");
    ResultSet rs=service.searchAllFromWentiInfo();
    while(rs.next()){
    String uid=rs.getString("uid");
    String eatname=rs.getString("eatname");
    String eatprice=rs.getString("eatprice");
    System.out.println(uid+"\t"+eatname+"\t"+eatprice);

    }
    }
    }
    SupereatDAO:
    package Supereat;


    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;



    import com.mysql.jdbc.Connection;
    import com.mysql.jdbc.PreparedStatement;
    /*
    * 删和查功能的实现
    * wenti_info表
    */
    public class SupereatDAO {
    //获取工具类中的数据库连接对象conn
    Connection conn=(Connection) JDBCUtils.getConnection();
    //查找user_info所有记录
    public ResultSet searchAll() throws SQLException{
    Statement stmt = conn.createStatement();
    String sql = "select * from eat";//表名
    ResultSet rs = stmt.executeQuery(sql);
    return rs;
    }
    public int deleteName(String inputName) throws SQLException {
    // TODO Auto-generated method stub
    String sql="DELETE from eat WHERE EATNAME=?";
    PreparedStatement pstmt=(PreparedStatement) conn.prepareStatement(sql);//创建预处理对象,把sql语句进行预编译,
    pstmt.setString(1, inputName);//给sql语句中的问号补充完整,也就是传值
    return pstmt.executeUpdate();//受影响的行数
    }


    }
    SupereatService:
    package Supereat;

    import java.sql.ResultSet;
    import java.sql.SQLException;

    /*
    * Service类负责DAO和UI之间传递数据
    */
    public class SupereatService {

    SupereatDAO dao=new SupereatDAO();
    //获取DAO查找的结果集,并传递出去
    public ResultSet searchAllFromWentiInfo() throws SQLException{
    return dao.searchAll();
    }
    public int deleteName(String inputName) throws SQLException {
    // TODO Auto-generated method stub
    return dao.deleteName(inputName);
    }


    }
    JDBCUtils:
    package Supereat;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;


    public class JDBCUtils {
    public static final String DRIVER_CLASS_NAME = "com.mysql.jdbc.Driver";
    public static final String URL = "jdbc:mysql://localhost:3306/supereat?characterEncoding=UTF-8";
    public static final String USERNAME = "root";
    public static final String PASSWORD = "123456";
    public static Connection conn=null;

    //使用静态代码块给静态常量成员赋初值
    static{
    try {
    Class.forName("com.mysql.jdbc.Driver");
    conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);


    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    }
    public static Connection getConnection(){
    return conn;

    }
    }
    三、运行结果
    Java程序设计—JDBC实验_sql_21四、总结
    总结功能实现过程中的经验,比如,遇到什么问题,采用什么方法解决的?
    删除数据时返回dao 用法的时候出现错误,通过看老师教学回放解决了这个问题。
  3. 组员4个人任务报告


三、运行结果

Java程序设计—JDBC实验_sql_22

初始数据库

Java程序设计—JDBC实验_mysql_23

选择修改功能

Java程序设计—JDBC实验_sql_24

按编号修改

Java程序设计—JDBC实验_mysql_25

找到之后修改对应的数据

Java程序设计—JDBC实验_java_26

更新之后的数据库

四、总结

在设计完程序之后发现运行代码无法运行,每次都报错显示,<无效的列索引>,令我百思不得其解,因为其他地方没有报错,一开始以为是SQL语句出现问题,但是经过检查之后发现并没有错误,又经过一段时间的查找最后发现是PreparedStatement在调用Set的时候,传参的起始序列号写错了参数的index是从1开始,而不是从0开始。最后成功解决了这个问题。通过这次实践,让我对JDBC有了更加深刻的理解,同时也感谢老师对我们的帮助。

三、组员2个人任务报告

第五组赵斌个人任务报告

  1. 功能描述

我做的功能是按照编号进行商品删除。

二、功能实现

Java程序设计—JDBC实验_java_27

这是UI部分

private static void deleteUser() throws SQLException{

System.out.println("编号删除");

System.out.println("输入编号");

Scanner input=new Scanner(System.in);

int a=input.nextInt();

int m=service.delete(a);

System.out.println("删除"+m+"条记录");

}

这是service部分

static UserDAO dao=new UserDAO();

public int delete(int a) throws SQLException {

// TODO Auto-generated method stub

return dao.deletewww(a);

}

这是DAO部分:

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();

}

三、运行结果

Java程序设计—JDBC实验_mysql_28

Java程序设计—JDBC实验_mysql_29

Java程序设计—JDBC实验_sql_30

四、总结

删除记录总是为0。

第五组王晓鑫个人任务报告

  1. 功能描述

创建一个熟食包点的数据库,我的任务是通过名称修改数据库内容的功能;对eatmarket中的eat数据表进行修改;通过查找名称(eatname)对其他信息如价格和库存进行修改(eatprice spare),将数据表中的内容实现更新;在UI界面创建一个与用户交互的菜单,会有提示告知用户需要进行的具体操作,如输入特定数字进入修改功能,然后输入修改名称,选择要修改的某个内容,输入想要修改的新内容,即可在数据表当中实现内容的更改。

二、功能实现

Java程序设计—JDBC实验_mysql_31

JDBCUtils.java

package foodmarketMis;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class JDBCUtils {

public static final String DRIVER_CLASS_NAME = "com.mysql.jdbc.Driver";

public static final String URL = "jdbc:mysql://localhost:3306/foodmarket?characterEncoding=UTF-8";

public static final String USERNAME = "root";

public static final String PASSWORD = "321";

public static Connection conn=null ;

//使用静态代码块给静态常量成员赋初值

static{

try {

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static Connection getConnection(){

return conn;

}

}

UserBean.java

public class UserBean {

private String uid;

private String eatname;//用户名

private String eatprice;//密码

private String spare;

//构造方法,带参数

public UserBean(String uid, String eatname, String eatprice,String spare) {

this.uid = uid;

this.eatname = eatname;

this.eatprice = eatprice;

this.spare = spare;

}

//set和get

public String getNumber() {

return uid;

}

public void setNumber(String uid) {

this.uid = uid;

}

public String geteatname() {

return eatname;

}

public void setName(String eatname) {

this.eatname = eatname;

}

public String geteatprice() {

return eatprice;

}

public void seteatprice(String eatprice) {

this.eatprice = eatprice;

}

public String getspare() {

return spare;

}

public void setspare(String spare) {

this.spare = spare;

}

@Override

public String toString() {

// TODO Auto-generated method stub

return uid+"\t---\t"+eatname+"\t---\t"+eatprice+"\t---\t"+spare;

}

}

UserDAO.java

//import com.mysql.jdbc.Connection;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.sql.PreparedStatement;

public class UserDAO {

//Connection conn=(Connection) JDBCUtlis.getConnection();

Connection conn = (Connection) JDBCUtils.getConnection();

public void searchByupdatename(UserBean user) throws SQLException {

//SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'

//String sql ="update eat(uid,eatname,eatprice,spare) VALUES(?,?,?,?)";

String sql ="update eat set uid=?,eatprice=?,spare=? where eatname=?";

PreparedStatement pstmt =(PreparedStatement) conn.prepareStatement(sql);

pstmt.setString(1, user.getNumber());

pstmt.setString(2, user.geteatprice());

pstmt.setString(3, user.getspare());

pstmt.setString(4, user.geteatname());

pstmt.executeUpdate();

}

}

UserSerivce.java

import java.sql.ResultSet;

import java.sql.SQLException;

public class UserService {

UserDAO dao = new UserDAO();

public void updatename(UserBean user) throws SQLException {

// TODO Auto-generated method stub

dao.searchByupdatename(user);

}

}

UserUI.java

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Scanner;

public class UserUI {

static UserService service = new UserService();

public static void main(String[] args) throws SQLException {

// TODO Auto-generated method stub

boolean flag=true;

while (flag) {

//菜单

System.out.println("-----熟食包点------");

System.out.println("--1-添加 ------");

System.out.println("--2-删除 ------");

System.out.println("--3-修改 ------");

System.out.println("--4-查询 ------");

System.out.println("--5-退出 ------");

System.out.print("请输入数字,选择菜单功能:");

// 输入选项

int inputNumber;

Scanner input = new Scanner(System.in);

inputNumber = input.nextInt();// 输入整数

switch (inputNumber) {

case 1:

addUser();

break;

case 2:

deletezhong();

break;

case 3:

updatazhong();

break;

case 4:

searchAllUserxian();

break;

case 5:

flag=false;

break;

}

}

}

// 修改中间

private static void updatazhong() throws SQLException {

System.out.println("--1-按照编号修改 ------");

System.out.println("--2-按照名称修改 ------");

int inputNumber;

Scanner input = new Scanner(System.in);

inputNumber = input.nextInt();// 输入整数

switch (inputNumber) {

case 1:

updateid();

break;

case 2:

updatename();

break;

}

}

//按照名称修改

private static void updatename() throws SQLException {

// TODO Auto-generated method stub

System.out.println("输入要修改的食物名称:");

Scanner in = new Scanner(System.in);

String inputeatname=in.next();

UserBean user= service.searchByname(inputeatname);

if(user!=null)

{

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

System.out.println("输入新的食物编号:");

String inputnewid=in.next();

user.setNumber(inputnewid);

// System.out.println("输入新的食物名称:");

// String inputnewname=in.next();

// user.setName(inputnewname);

System.out.println("输入新的食物价格:");

String inputnewprice=in.next();

user.seteatprice(inputnewprice);

System.out.println("输入新的食物库存:");

String inputnewspare=in.next();

user.setspare(inputnewspare);

service.updatename(user);

}

else

{

System.out.println("没有找到相关信息!");

}

}

}

三、运行结果

开始截图


Java程序设计—JDBC实验_sql_32

结束

Java程序设计—JDBC实验_java_33

Java程序设计—JDBC实验_sql_34

四、总结

在实验过程中,有一些因为不够细心导致的错误,添加中文符号等,也有一些语法错误,通过仔细对比代码,网上搜索,观看老师的课程回放以及向小组内的同学们询问均得以解决;通过这次实验,使我的Java基础更加牢固,掌握了以前没有学会的知识点,也学会了通过Java来对数据库进行增删改查。

举报

相关推荐

0 条评论