最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Mysql+JavaSwing的超市商品管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

 更新時(shí)間:2021年09月26日 10:19:45   作者:java李楊勇  
本項(xiàng)目是使用Java swing開(kāi)發(fā),可實(shí)現(xiàn)超市管理系統(tǒng)商品列表信息查詢、添加商品信息和修改商品管理以及刪除商品信息和安裝商品信息查詢等功能。界面設(shè)計(jì)和功能比較簡(jiǎn)單基礎(chǔ)、適合作為Java課設(shè)設(shè)計(jì)以及學(xué)習(xí)技術(shù)使用,需要的朋友可以參考一下

前言:

     隨著小超市規(guī)模的發(fā)展不斷擴(kuò)大, 商品數(shù)量急劇增加, 有關(guān)商品的各種信息量也成倍增長(zhǎng)。 超市時(shí)時(shí)刻刻都需要對(duì)商品各種信息進(jìn)行統(tǒng)計(jì)分析。 而大型的超市管理系統(tǒng)功能過(guò)于強(qiáng)大而造成操作繁瑣降低了小超市的工作效率。 超市管理系統(tǒng)是市場(chǎng)上最流行的超市上常用的系統(tǒng)之一, 由于剛學(xué)Java知識(shí)、所有功能設(shè)計(jì)的比較簡(jiǎn)單、只有商品信息的增刪改查。實(shí)現(xiàn)對(duì)商品信息全面、 動(dòng)態(tài)、及時(shí)的管理。本文系統(tǒng)的分析了軟件開(kāi)發(fā)的背景以過(guò)程;首先介紹了軟件的開(kāi)發(fā)環(huán)境, 其次介紹了本軟件的詳細(xì)設(shè)計(jì)過(guò)程: 數(shù)據(jù)庫(kù)的設(shè)計(jì)、各個(gè)模塊的設(shè)計(jì)和實(shí)現(xiàn),以及具體界面的設(shè)計(jì)和功能。超市庫(kù)存管理系統(tǒng)是基于 Java eclipse 作為開(kāi)發(fā)工具 , Mysql 作為后臺(tái)數(shù)據(jù)庫(kù)支持。超市庫(kù)存管理系統(tǒng)開(kāi)發(fā)主要是界面程序的開(kāi)發(fā)、數(shù)據(jù)庫(kù)的建立、數(shù)據(jù)庫(kù)的維護(hù)。應(yīng)用程序功能完善,界面人機(jī)交互要好,而且操作簡(jiǎn)單。同時(shí) JAVASwing語(yǔ)言簡(jiǎn)單,在較短的時(shí)間內(nèi)能夠開(kāi)發(fā)出使用性強(qiáng)、 功能完善, 易于操作的程序, 也能實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接。

主要模塊:

商品列表數(shù)據(jù)展示、商品信息添加、商品信息修改、商品信息刪除、按照商品名稱查詢商品信息

1、功能介紹

功能截圖:

查詢商品列表信息:

添加商品信息:

修改商品信息:

刪除商品信息:

刪除之后需要刷新一下列表數(shù)據(jù)

​編號(hào)查詢商品信息:

2、關(guān)鍵代碼

2.1 主頁(yè)功能

public class GoodsManage extends JFrame {
 private JTextField textField;
 Select select = new Select();
 Updata updata = new Updata();
 Object[] header= {"商品編號(hào)","商品名稱","數(shù)量","單價(jià)"};
 String sql = "SELECT goodsID,goodsname,num,price FROM goods";
 Object[][] data= select.getGoods(sql);
 DefaultTableModel df = new DefaultTableModel(data, header);
 int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
 int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
 
 public GoodsManage() {
  super("商品管理系統(tǒng)");
  this.setBounds(0, 0, 700, 450);
  this.setLocationRelativeTo(null);//讓窗口在屏幕中間顯示
  this.setResizable(false);//讓窗口大小不可改變
  getContentPane().setLayout(null);
  
  JTable jTable = new JTable(df);
  JScrollPane jsp=new JScrollPane(jTable,v,h);
  jsp.setBounds(10, 10, 515, 320);
  getContentPane().add(jsp);
  
  JButton button_1 = new JButton("顯示所有商品");
  button_1.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    String sql = "SELECT goodsID,goodsname,num,price FROM goods";
    Object[][] data = Select.getGoods(sql);
    df.setDataVector(data, header);
   }
  });
 
  button_1.setBounds(535, 80, 127, 30);
  getContentPane().add(button_1);
  
  JButton button_2 = new JButton("修改商品");
  button_2.setBounds(535, 140, 127, 30);
  getContentPane().add(button_2);
  button_2.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    if (jTable.getSelectedColumn()<0) {
     JOptionPane.showMessageDialog(null, "請(qǐng)選擇要修改的數(shù)據(jù)!");
    } else {
     int goodsID = Integer.parseInt(jTable.getValueAt(jTable.getSelectedRow(), 0).toString());
     String name = jTable.getValueAt(jTable.getSelectedRow(), 1).toString();
     int num = Integer.parseInt(jTable.getValueAt(jTable.getSelectedRow(), 2).toString());
     String price = jTable.getValueAt(jTable.getSelectedRow(), 3).toString();
     Goods goods = new Goods(goodsID,name,num,price);
     GoodsXG goodsXG = new GoodsXG(goods);
     goodsXG.setVisible(true);
    }
    
   }
  });
  
  JButton button_3 = new JButton("刪除商品");
  button_3.setBounds(535, 200, 127, 30);
  getContentPane().add(button_3);
  button_3.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    if (jTable.getSelectedColumn()<0) {
     JOptionPane.showMessageDialog(null, "請(qǐng)選中要?jiǎng)h除的數(shù)據(jù)!");
    } else {
     int goodsID = Integer.parseInt(jTable.getValueAt(jTable.getSelectedRow(), 0).toString());
     String sql="delete from goods where goodsid="+goodsID;
     int result = updata.addData(sql);
     if (result>0) {
      JOptionPane.showMessageDialog(null, "刪除成功!");
      JOptionPane.showMessageDialog(null, "記得刷新一下哦!");
     } else {
      JOptionPane.showMessageDialog(null, "刪除失??!");
     }
    }
   }
  });
  
  JButton button_4 = new JButton("添加商品");
  button_4.setBounds(535, 258, 127, 30);
  getContentPane().add(button_4);
  button_4.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent arg0) {
    GoodsADD goodsAdd = new GoodsADD();
    goodsAdd.setVisible(true);
   }
  });
  
  JLabel label = new JLabel("商品編號(hào):");
  label.setBounds(40, 354, 112, 32);
  getContentPane().add(label);
  
  textField = new JTextField();
  textField.setBounds(154, 358, 127, 26);
  getContentPane().add(textField);
  textField.setColumns(10);
  
  JButton button = new JButton("按編號(hào)查詢");
  button.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent arg0) {
    String sql = "SELECT goodsID,goodsname,num,price FROM goods WHERE goodsid LIKE '%"+textField.getText()+"%'";
    Object[][] data = Select.getGoods(sql);
    df.setDataVector(data, header);
   }
  });
  button.setBounds(305, 355, 112, 30);
  getContentPane().add(button);
  
  this.addWindowListener(new WindowAdapter() {
    
   public void windowClosing(WindowEvent e) {
    super.windowClosing(e);
    //加入動(dòng)作
    GoodsManagement m = new GoodsManagement();
    m.setVisible(true);
    }
  });
 }
 
 public static void main(String[] args) {
  GoodsManage t = new GoodsManage();
  t.setVisible(true);
 }
}

2.2 添加商品信息

public class GoodsADD extends JFrame {
 private JTextField id,name,num,price;
 private JButton button;
 private JButton button_1;
 
 public GoodsADD() {
  super("商品管理系統(tǒng)");
  this.setBounds(0, 0, 400, 450);
  this.setLocationRelativeTo(null);//讓窗口在屏幕中間顯示
  this.setResizable(false);//讓窗口大小不可改變
  getContentPane().setLayout(null);
  
  JLabel label = new JLabel("商品編號(hào):");
  label.setBounds(85, 89, 87, 22);
  getContentPane().add(label);
  
  id = new JTextField();
  id.setBounds(147, 90, 142, 21);
  getContentPane().add(id);
  id.setColumns(10);
  
  JLabel label_1 = new JLabel("商品名稱");
  label_1.setBounds(85, 139, 87, 22);
  getContentPane().add(label_1);
  
  name = new JTextField();
  name.setColumns(10);
  name.setBounds(147, 140, 142, 21);
  getContentPane().add(name);
  
  JLabel label_2 = new JLabel("數(shù)量:");
  label_2.setBounds(85, 193, 87, 22);
  getContentPane().add(label_2);
  
  num = new JTextField();
  num.setColumns(10);
  num.setBounds(147, 194, 142, 21);
  getContentPane().add(num);
  
  JLabel label_3 = new JLabel("單價(jià):");
  label_3.setBounds(85, 241, 87, 22);
  getContentPane().add(label_3);
  
  price = new JTextField();
  price.setColumns(10);
  price.setBounds(147, 242, 142, 21);
  getContentPane().add(price);
  
  button = new JButton("確定");
  button.setBounds(78, 317, 93, 23);
  getContentPane().add(button);
  button.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent arg0) {
    String addId = id.getText();
    String addName = name.getText();
    String addNum = num.getText();
    String addPrice = num.getText();
    if (addName.equals("")||addName.equals("")||addNum.equals("")||addPrice.equals("")) {
     JOptionPane.showMessageDialog(null, "請(qǐng)完整輸入要添加的數(shù)據(jù)");
    } else {
     String sql="INSERT INTO goods VALUES("+addId+",'"+addName+"','"+addNum+"','"+addPrice+"')";
     int result = Updata.addData(sql);
     if (result>0) {
      JOptionPane.showMessageDialog(null, "添加成功!");
                  JOptionPane.showMessageDialog(null, "記得刷新一下哦!");
      dispose();
//      GoodsManage i = new GoodsManage();
//      i.setVisible(true);
     } else {
      JOptionPane.showMessageDialog(null, "添加失敗!");
     }
    }
 
   }
  });
  
  button_1 = new JButton("取消");
  button_1.setBounds(208, 317, 93, 23);
  getContentPane().add(button_1);
  button_1.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent arg0) {
    dispose();
   }
  });
  
 }
}

2.3 數(shù)據(jù)庫(kù)設(shè)計(jì)

商品表

CREATE TABLE `NewTable` (
`goodsID`  int(11) NOT NULL ,
`goodsName`  varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`num`  int(11) NOT NULL ,
`price`  decimal(10,4) NOT NULL ,
PRIMARY KEY (`goodsID`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
ROW_FORMAT=COMPACT
;

到此這篇關(guān)于基于Mysql+JavaSwing的超市商品管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Mysql+JavaSwing的超市商品管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解用SELECT命令在MySQL執(zhí)行查詢操作的教程

    詳解用SELECT命令在MySQL執(zhí)行查詢操作的教程

    這篇文章主要介紹了詳解用SELECT命令在MySQL執(zhí)行查詢操作的教程,本文中還給出了基于PHP腳本的操作演示,需要的朋友可以參考下
    2015-05-05
  • Win7下安裝MySQL5.7.16過(guò)程記錄

    Win7下安裝MySQL5.7.16過(guò)程記錄

    這篇文章主要為大家分享了Win7下安裝MySQL5.7.16過(guò)程的筆記,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • 一文帶你了解MySQL中的事務(wù)

    一文帶你了解MySQL中的事務(wù)

    事務(wù)處理可以用來(lái)維護(hù)數(shù)據(jù)庫(kù)的完整性,保證成批的sQL語(yǔ)句要么全部執(zhí)行,要么全部不執(zhí)行。本文將通過(guò)一些簡(jiǎn)單的示例帶大家了解一下MySQL中的事務(wù),希望對(duì)大家有所幫助
    2023-02-02
  • MySQL 主鍵與索引的聯(lián)系與區(qū)別分析

    MySQL 主鍵與索引的聯(lián)系與區(qū)別分析

    這篇文章主要介紹MySQL 主鍵與索引的聯(lián)系與區(qū)別,使用mysql的朋友可以看下
    2013-02-02
  • centos下mysql主從同步快速設(shè)置步驟分享

    centos下mysql主從同步快速設(shè)置步驟分享

    記錄一個(gè)比較簡(jiǎn)便的mysql的主從同步設(shè)置步驟,方便日后使用。
    2012-06-06
  • MySQL中不能創(chuàng)建自增字段的解決方法

    MySQL中不能創(chuàng)建自增字段的解決方法

    這篇文章主要介紹了MySQL中不能創(chuàng)建自動(dòng)增加字段的解決方法,通過(guò)本文可以解決導(dǎo)致auto_increament失敗的問(wèn)題,需要的朋友可以參考下
    2014-09-09
  • 基于更新SQL語(yǔ)句理解MySQL鎖定詳解

    基于更新SQL語(yǔ)句理解MySQL鎖定詳解

    這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)SQL更新鎖定的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • MySQL內(nèi)部臨時(shí)表的具體使用

    MySQL內(nèi)部臨時(shí)表的具體使用

    MySQL臨時(shí)表在很多場(chǎng)景中都會(huì)用到,比如用戶自己創(chuàng)建的臨時(shí)表用于保存臨時(shí)數(shù)據(jù),以及MySQL內(nèi)部在執(zhí)行復(fù)雜SQL時(shí),需要借助臨時(shí)表進(jìn)行分組、排序、去重等操作,本文就來(lái)詳細(xì)的介紹一下MySQL內(nèi)部臨時(shí)表
    2021-10-10
  • CentOS7.x卸載與安裝MySQL5.7的操作過(guò)程及編碼格式的修改方法

    CentOS7.x卸載與安裝MySQL5.7的操作過(guò)程及編碼格式的修改方法

    這篇文章主要介紹了CentOS7.x卸載與安裝MySQL5.7的操作過(guò)程及編碼格式的修改方法,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • MySQL表自增id溢出的故障原因和解決方法

    MySQL表自增id溢出的故障原因和解決方法

    MySQL 表的自增 ID 溢出問(wèn)題通常發(fā)生在使用 INT 或 BIGINT 類型的自增字段時(shí),如果數(shù)據(jù)量極大,達(dá)到自增字段的最大值時(shí),就會(huì)導(dǎo)致溢出,不同的數(shù)據(jù)庫(kù)類型有不同的最大值,本文給大家介紹了MySQL表自增id溢出的故障原因和解決方法,需要的朋友可以參考下
    2024-12-12

最新評(píng)論

赤峰市| 铁岭县| 忻州市| 衡东县| 开平市| 尉氏县| 常州市| 沈阳市| 泗水县| 炎陵县| 抚远县| 离岛区| 沅陵县| 龙江县| 工布江达县| 三河市| 蒲江县| 延吉市| 冀州市| 武鸣县| 法库县| 雷波县| 富阳市| 汶上县| 左贡县| 尤溪县| 格尔木市| 彭州市| 元氏县| 商城县| 临汾市| 汝南县| 子洲县| 虞城县| 甘孜县| 龙江县| 临泉县| 汨罗市| 西充县| 台北市| 台东县|