Java熟食包点系统实战
功能描述
创建一个熟食包点的数据库,我的任务是通过名称修改数据库内容的功能;对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 blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.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和getpublic 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;}@Overridepublic String toString() {// TODO Auto-generated method stubreturn 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 stubdao.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 stubboolean 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 stubSystem.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熟食包点系统实战相关推荐
- JAVA 支付宝支付系统实战项目超详解
结合支付宝官网实现的 支付宝当面支付功能,非常详细看我一篇就够了 1. 目的 2. 说明 3. 申请支付宝的账号(每个人都有做,不要用我的) 3.1. 扫码登陆 3.2. 账号的申请 3.3. 记录你 ...
- java设计前期工作基础和存在的困难_Java秒杀系统实战系列-基于Redisson的分布式锁优化秒杀逻辑...
本文是"Java秒杀系统实战系列文章"的第十五篇,本文我们将借助综合中间件Redisson优化"秒杀系统中秒杀的核心业务逻辑",解决Redis的原子操作在优化秒 ...
- java 模块 分工_Java秒杀系统实战系列~构建SpringBoot多模块项目
摘要:本篇博文是"Java秒杀系统实战系列文章"的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项 ...
- Java秒杀系统实战系列~RabbitMQ死信队列处理超时未支付的订单(转)
转自: https://juejin.cn/post/6844903903130042376 文末有源代码,非常棒 摘要: 本篇博文是"Java秒杀系统实战系列文章"的第十篇,本篇 ...
- Java秒杀系统实战系列~分布式唯一ID生成订单编号
摘要: 本篇博文是"Java秒杀系统实战系列文章"的第七篇,在本博文中我们将重点介绍 "在高并发,如秒杀的业务场景下如何生成全局唯一.趋势递增的订单编号",我们 ...
- java电商网站建设教程_java开发电商系统实战开发视频教程
JAVA 当前位置:主页 > 编程教程 > JAVA > java开发电商系统实战开发视频教程 java开发电商系统实战开发视频教程 教程大小:4GB 发布时间:2018-07- ...
- Java秒杀系统实战系列~构建SpringBoot多模块项目
摘要:本篇博文是"Java秒杀系统实战系列文章"的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项 ...
- Java秒杀系统实战系列~数据库级别Sql的优化与代码的调整
摘要: 本篇博文是"Java秒杀系统实战系列文章"的第十三篇,从本篇文章开始我们将进入"秒杀代码优化"环节,本文将首先从数据库级别Sql的优化入手,结合调整秒杀 ...
- Java秒杀系统实战系列~JMeter压力测试重现秒杀场景中超卖等问题
摘要: 本篇博文是"Java秒杀系统实战系列文章"的第十二篇,本篇博文我们将借助压力测试工具Jmeter重现秒杀场景(高并发场景)下出现的各种典型的问题,其中最为经典的当属&quo ...
最新文章
- 利用Spring AOP与JAVA注解为系统增加日志功能
- Https 公钥、私钥、证书
- Zabbix监控实现跨区域跨网络监控数据
- AutoHotkey 使用笔记
- 26、临时表的创建和重复数据的处理
- PWN-PRACTICE-CTFSHOW-2
- kotlin之泛型的使用
- hardmard积 用什么符号表示_[关于数学哲学的科普]为数学学习准备的基础数理逻辑(用自然推理系统展现的命题演算以及一阶谓词演算)...
- GIT在WINDOWS/LINUX下载的源码,回车换行有差异
- 华为大数据解决方案 (文末附PPT下载)
- 一文搞懂Object.create()、new Object()和{}创建对象的区别
- 视频号视频如何下载?
- 前端开发技术-promise是什么?
- CAPM模型的应用--回归模型中的Alpha, r_f
- 人工智能续写贝多芬生前未完成的《第十交响曲》【智能快讯】
- 关于地图开发的那些坑儿
- 专升本——动词的时态和语态
- CSharp 基本知识-数组
- 前端笔试面试题之三(2015美的前端笔试)
- 绘制打印真实尺寸大小的图形曲线
热门文章
- 只会温水煮青蛙,工作都找不到还不好好学这份16W字Java面试合集
- Matlab数据库编程指南
- Python中的TfidfVectorizer参数解析
- 幽默的经济学原理~其实经济学可以这样学
- Movavi HD Video Converter for Mac (优秀的视频格式转换工具) v22.1
- 淘宝特价版“转正”,传统电商“下沉三子”围剿拼多多
- Oppo各系手机配置对比和拆解
- 哪里有可以定制室内地图?室内地图怎么制作?
- C++函数概述 | 翻译密码
- python numpy数组含逗号的切片