#java项目#《水果库存系统1.0》(java(jdbc)+mysql)(一)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 水果库存系统1.0一:水果库存系统简介:二:前置知识三结构说明3.1Client类3.2fruit类3.3FruitDAO接口

一:水果库存系统简介:


本文适合初学 mysql+jdbc的同学!!本水果管理系统为1.0版本后续版本请订阅系列专栏


简介:通过java实现水果的增删改查。最后能过读取和写入MySQL


截图


d7867fc03a9749aa85e31ae391070253.png


272744549c2f42b8ae3911a1e8cf0e6f.png

f1bdb7b3635f4d2ca07427b62309324d.png


二:前置知识


专栏:java专栏


知识:jdbc实现增删改查链接mysql的安装


三结构说明


本项目结构图如下:配置请看前置知识的mysql安装


87f6131b68f544379365120887b053cc.png

bc634e55b4f64d9390d6500a8860cdf0.png


3.1Client类


此类是整个项目的入口,不多说直接上代码!!


package com.fianl_.fruit.view;
import com.fianl_.fruit.controller.Menu;
/**
 * @autor 笑霸fianl~
 * 欢迎访问GitHub:https://github.com/XBfinal
 * 欢迎访问Gitee:https://gitee.com/XBfianl
 * 欢迎访问CSDN:https://blog.csdn.net/weixin_52062043
 */
public class Client {
    public static void main(String[] args) throws InterruptedException, ClassNotFoundException {
        Menu menu = new Menu();
        boolean flge=true;
        while(flge){
            int i = menu.showMainMenu();;
            switch(i){
                case 1:menu.showFruitList();//显示
                    break;
                case 2:
                    menu.addFruit();//添加
                    break;
                case 3:menu.showFruitInfo();//显示特定水果信息
                    break;
                case 4:menu.delFruit();//下架水果
                    break;
                case 5:flge=menu.exit();//退出
                    break;
                default:
                    System.out.println("选择错误请重新选择!!!!");
                    Thread.sleep(1000);
                    break;
            }
        }
    }
}


一些代码的说明


Thread.sleep(1000);让此线程停止1秒 详情请看:Java并发之线程入门一


Menu menu = new Menu();这个类有很多常用的共能。增删改查的具体实现方法都在这里


在说 Menu类之前我们先来创建水果类fruit



3.2fruit类


这里定义了 水果的名字、id、价格、库存、备注。和一些基本的方法。


package com.fianl_.fruit.pojo;
public class Fruit {
    private Integer fid;//编号
    private String fname;//水果名字
    private Integer price;//水果价格
    private Integer fcount;//水果库存
    private String remark;//水果的备注
    public Fruit(Integer fid, String fname, Integer price, Integer fcount, String remark) {
        this.fid = fid;
        this.fname = fname;
        this.price = price;
        this.fcount = fcount;
        this.remark = remark;
    }
    public void Format_display(){
        System.out.printf("%-5d\t%-5s\t%-5d\t%-5d\t%-5s",fid,fname,price,fcount,remark);
        System.out.println();//换行
    }
    public String toString() {
        return fid+"\t\t"
                +fname+"\t\t"
                +price+"\t\t"
                +fcount+"\t\t"
                +remark;
    }
    public Integer getFid() {
        return fid;
    }
    public String getFname() {
        return fname;
    }
    public Integer getPrice() {
        return price;
    }
    public Integer getFcount() {
        return fcount;
    }
    public String getRemark() {
        return remark;
    }
    public void setFid(Integer fid) {
        this.fid = fid;
    }
    public void setFname(String fname) {
        this.fname = fname;
    }
    public void setPrice(Integer price) {
        this.price = price;
    }
    public void setFcount(Integer fcount) {
        this.fcount = fcount;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
}


温馨提示:


Java中类(格式化输出)格式和C语言一样,本项目为了解决读取mysql数据输出文字对齐问题。


System.out.printf("%-5d\t%-5s\t%-5d\t%-5d\t%-5s",fid,fname,price,fcount,remark);
        System.out.println();//换行


3.3FruitDAO接口


DAO设计模式简介: DAO设计模式可以减少代码量,增强程序的可移植性,提高代码的可读性。 DAO (数据库操作对象)设计模式是 JavaEE 数据层的操作.主要由五部分组成: 1.数据库连接类:连接数据库并获取连接对象。 2.VO实体类:包含属性和表中字段完全对应的类。


package com.fianl_.fruit.dao;
import com.fianl_.fruit.pojo.Fruit;
import java.util.List;
public interface FruitDAO {
    //显示库存列表
    List<Fruit>getFruitList() throws ClassNotFoundException;
    //新增库存
    boolean addFruit(Fruit fruit);
    //修改库存
    boolean updateFruit(Fruit fruit);
    //根据名称查询
    Fruit getFruitByFname(String fname);
    //根据名称删除记录
    boolean delFruit(String fname);
}


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
11天前
|
Java Maven
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
在Java项目中,启动jar包时遇到“no main manifest attribute”错误,且打包大小明显偏小。常见原因包括:1) Maven配置中跳过主程序打包;2) 缺少Manifest文件或Main-Class属性。解决方案如下:
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
|
17天前
|
Java 数据库连接 数据库
springboot java.lang.ClassNotFoundException: dm.jdbc.driver.DmDriver应该如何解决
通过上述步骤,可以有效解决Spring Boot项目中遇到的 `java.lang.ClassNotFoundException: dm.jdbc.driver.DmDriver`问题。确保在项目中正确添加达梦数据库的JDBC驱动依赖,并在配置文件中正确配置数据源信息,是解决此问题的关键。通过这些方法,可以确保Spring Boot项目能够正确连接达梦数据库并正常运行。
125 31
|
7天前
|
存储 Java BI
java怎么统计每个项目下的每个类别的数据
通过本文,我们详细介绍了如何在Java中统计每个项目下的每个类别的数据,包括数据模型设计、数据存储和统计方法。通过定义 `Category`和 `Project`类,并使用 `ProjectManager`类进行管理,可以轻松实现项目和类别的数据统计。希望本文能够帮助您理解和实现类似的统计需求。
44 17
|
29天前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
128 26
|
2月前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
65 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
2月前
|
设计模式 消息中间件 搜索推荐
Java 设计模式——观察者模式:从优衣库不使用新疆棉事件看系统的动态响应
【11月更文挑战第17天】观察者模式是一种行为设计模式,定义了一对多的依赖关系,使多个观察者对象能直接监听并响应某一主题对象的状态变化。本文介绍了观察者模式的基本概念、商业系统中的应用实例,如优衣库事件中各相关方的动态响应,以及模式的优势和实际系统设计中的应用建议,包括事件驱动架构和消息队列的使用。
|
2月前
|
Java
Java项目中高精度数值计算:为何BigDecimal优于Double
在Java项目开发中,涉及金额计算、面积计算等高精度数值操作时,应选择 `BigDecimal` 而非 `Double`。`BigDecimal` 提供任意精度的小数运算、多种舍入模式和良好的可读性,确保计算结果的准确性和可靠性。例如,在金额计算中,`BigDecimal` 可以精确到小数点后两位,而 `Double` 可能因精度问题导致结果不准确。
|
16天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
41 3
|
16天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
45 3
|
16天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE &#39;log_%&#39;;`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
59 2