功能描述 

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

二、功能实现 

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基础更加牢固,掌握了以前没有学会的知识点,也学会了通过Java来对数据库进行增删改查。

Java熟食包点系统实战相关推荐

  1. JAVA 支付宝支付系统实战项目超详解

    结合支付宝官网实现的 支付宝当面支付功能,非常详细看我一篇就够了 1. 目的 2. 说明 3. 申请支付宝的账号(每个人都有做,不要用我的) 3.1. 扫码登陆 3.2. 账号的申请 3.3. 记录你 ...

  2. java设计前期工作基础和存在的困难_Java秒杀系统实战系列-基于Redisson的分布式锁优化秒杀逻辑...

    本文是"Java秒杀系统实战系列文章"的第十五篇,本文我们将借助综合中间件Redisson优化"秒杀系统中秒杀的核心业务逻辑",解决Redis的原子操作在优化秒 ...

  3. java 模块 分工_Java秒杀系统实战系列~构建SpringBoot多模块项目

    摘要:本篇博文是"Java秒杀系统实战系列文章"的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项 ...

  4. Java秒杀系统实战系列~RabbitMQ死信队列处理超时未支付的订单(转)

    转自: https://juejin.cn/post/6844903903130042376 文末有源代码,非常棒 摘要: 本篇博文是"Java秒杀系统实战系列文章"的第十篇,本篇 ...

  5. Java秒杀系统实战系列~分布式唯一ID生成订单编号

    摘要: 本篇博文是"Java秒杀系统实战系列文章"的第七篇,在本博文中我们将重点介绍 "在高并发,如秒杀的业务场景下如何生成全局唯一.趋势递增的订单编号",我们 ...

  6. java电商网站建设教程_java开发电商系统实战开发视频教程

    JAVA 当前位置:主页 > 编程教程 > JAVA > java开发电商系统实战开发视频教程 java开发电商系统实战开发视频教程 教程大小:4GB   发布时间:2018-07- ...

  7. Java秒杀系统实战系列~构建SpringBoot多模块项目

    摘要:本篇博文是"Java秒杀系统实战系列文章"的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项 ...

  8. Java秒杀系统实战系列~数据库级别Sql的优化与代码的调整

    摘要: 本篇博文是"Java秒杀系统实战系列文章"的第十三篇,从本篇文章开始我们将进入"秒杀代码优化"环节,本文将首先从数据库级别Sql的优化入手,结合调整秒杀 ...

  9. Java秒杀系统实战系列~JMeter压力测试重现秒杀场景中超卖等问题

    摘要: 本篇博文是"Java秒杀系统实战系列文章"的第十二篇,本篇博文我们将借助压力测试工具Jmeter重现秒杀场景(高并发场景)下出现的各种典型的问题,其中最为经典的当属&quo ...

最新文章

  1. 利用Spring AOP与JAVA注解为系统增加日志功能
  2. Https 公钥、私钥、证书
  3. Zabbix监控实现跨区域跨网络监控数据
  4. AutoHotkey 使用笔记
  5. 26、临时表的创建和重复数据的处理
  6. PWN-PRACTICE-CTFSHOW-2
  7. kotlin之泛型的使用
  8. hardmard积 用什么符号表示_[关于数学哲学的科普]为数学学习准备的基础数理逻辑(用自然推理系统展现的命题演算以及一阶谓词演算)...
  9. GIT在WINDOWS/LINUX下载的源码,回车换行有差异
  10. 华为大数据解决方案 (文末附PPT下载)
  11. 一文搞懂Object.create()、new Object()和{}创建对象的区别
  12. 视频号视频如何下载?
  13. 前端开发技术-promise是什么?
  14. CAPM模型的应用--回归模型中的Alpha, r_f
  15. 人工智能续写贝多芬生前未完成的《第十交响曲》【智能快讯】
  16. 关于地图开发的那些坑儿
  17. 专升本——动词的时态和语态
  18. CSharp 基本知识-数组
  19. 前端笔试面试题之三(2015美的前端笔试)
  20. 绘制打印真实尺寸大小的图形曲线

热门文章

  1. 只会温水煮青蛙,工作都找不到还不好好学这份16W字Java面试合集
  2. Matlab数据库编程指南
  3. Python中的TfidfVectorizer参数解析
  4. 幽默的经济学原理~其实经济学可以这样学
  5. Movavi HD Video Converter for Mac (优秀的视频格式转换工具) v22.1
  6. 淘宝特价版“转正”,传统电商“下沉三子”围剿拼多多
  7. Oppo各系手机配置对比和拆解
  8. 哪里有可以定制室内地图?室内地图怎么制作?
  9. C++函数概述 | 翻译密码
  10. python numpy数组含逗号的切片