Java+Swing+Mysql实现超市管理系统

这篇具有很好参考价值的文章主要介绍了Java+Swing+Mysql实现超市管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、系统介绍

1.开发环境

操作系统:Win10

开发工具 :IDEA2018

JDK版本:jdk1.8

数据库:Mysql8.0

2.技术选型

Java+Swing+Mysql

3.功能模块

超市管理系统,JavaSwing实战,mysql,java,数据库,swing

4.系统功能

1.系统登录登出

管理员可以登录、退出系统

2.商品信息管理

管理员可以对商品信息进行查询、添加、修改、删除等操作。

3.出库信息管理

管理员可以对出库信息进行查询、添加、修改、删除等操作。

4.入库信息管理

管理员可以对入库信息进行查询、添加、修改、删除等操作。

5.客户信息管理

管理员可以对客户信息进行查询、添加、修改、删除等操作。

6.供应商信息管理

管理员可以对供应商信息进行查询、添加、修改、删除等操作。

5.工程结构

超市管理系统,JavaSwing实战,mysql,java,数据库,swing

二、系统展示

1.登录页面

超市管理系统,JavaSwing实战,mysql,java,数据库,swing

2.主页面

超市管理系统,JavaSwing实战,mysql,java,数据库,swing

3.商品展示

超市管理系统,JavaSwing实战,mysql,java,数据库,swing

4.商品新增

超市管理系统,JavaSwing实战,mysql,java,数据库,swing

5.出库展示

超市管理系统,JavaSwing实战,mysql,java,数据库,swing

6.出库新增

超市管理系统,JavaSwing实战,mysql,java,数据库,swing

7.入库展示

超市管理系统,JavaSwing实战,mysql,java,数据库,swing

8.入库新增

超市管理系统,JavaSwing实战,mysql,java,数据库,swing

9.客户展示

超市管理系统,JavaSwing实战,mysql,java,数据库,swing

10.客户新增

超市管理系统,JavaSwing实战,mysql,java,数据库,swing

11.供应商展示

超市管理系统,JavaSwing实战,mysql,java,数据库,swing

12.供应商新增

超市管理系统,JavaSwing实战,mysql,java,数据库,swing

13.关于我们

超市管理系统,JavaSwing实战,mysql,java,数据库,swing

三、部分代码

AdminDao


package com.sjsq.dao;

import java.util.ArrayList;
import java.util.List;

import com.sjsq.model.Admin;
import com.sjsq.utils.DBUtil;

/**
 * 管理员登录
 */
public class AdminDao {

    /**
     * 登录
     *
     * @param username
     * @param password
     * @return
     * @throws Exception
     */
    public boolean login(String username, String password) throws Exception {
        List<Object> paramList = new ArrayList<>();
        paramList.add(username);
        paramList.add(password);
        Admin admin = DBUtil.getObject("select * from t_admin where username=? and password=?", paramList, Admin.class);
        if (admin != null) {
            return true;
        }
        return false;
    }

}

CustomerDao


package com.sjsq.dao;

import java.util.ArrayList;
import java.util.List;

import com.sjsq.model.Customer;
import com.sjsq.utils.DBUtil;
import com.sjsq.utils.StringUtil;

/**
 * 客户信息操作
 */
public class CustomerDao {

    /**
     * 查询所有客户
     *
     * @return
     * @throws Exception
     */
    public List<Customer> getAll() throws Exception {
        return DBUtil.getQueryList("select * from t_customer order by id asc", Customer.class);
    }

    /**
     * 条件查询
     *
     * @param name
     * @return
     * @throws Exception
     */
    public List<Customer> search(String name) throws Exception {
        List<Object> paramList = new ArrayList<>();
        StringBuffer sb = new StringBuffer("select * from t_customer where 1=1");
        if (!StringUtil.isEmpty(name)) {
            sb.append(" and name like ?");
            paramList.add("%" + name + "%");
        }
        sb.append(" order by id asc");
        return DBUtil.getQueryList(sb.toString(), paramList, Customer.class);
    }

    /**
     * 保存客户信息
     *
     * @param customer
     * @return
     * @throws Exception
     */
    public int save(Customer customer) throws Exception {
        List<Object> paramList = new ArrayList<>();
        paramList.add(customer.getName());
        paramList.add(customer.getPhone());
        paramList.add(customer.getAddress());
        return DBUtil.execute("insert into t_customer(name,phone,address) values(?,?,?)", paramList);
    }

    /**
     * 更新客户信息
     *
     * @param customer
     * @return
     * @throws Exception
     */
    public int update(Customer customer) throws Exception {
        List<Object> paramList = new ArrayList<>();
        paramList.add(customer.getName());
        paramList.add(customer.getPhone());
        paramList.add(customer.getAddress());
        paramList.add(customer.getId());
        return DBUtil.execute("update t_customer set name=?,phone=?,address=? where id=?", paramList);
    }

    /**
     * 根据id查询客户信息
     *
     * @param id
     * @return
     * @throws Exception
     */
    public Customer getById(int id) throws Exception {
        List<Object> paramList = new ArrayList<>();
        paramList.add(id);
        return DBUtil.getObject("select * from t_customer where id=?", paramList, Customer.class);
    }

    /**
     * 删除
     *
     * @param id
     * @return
     * @throws Exception
     */
    public int delete(int id) throws Exception {
        List<Object> paramList = new ArrayList<>();
        paramList.add(id);
        return DBUtil.execute("delete from t_customer where id=?", paramList);
    }

}

StringUtil


package com.sjsq.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 字符串转化类
 */
public class StringUtil {

    //数据库字段驼峰命名转换
    private static Pattern linePattern = Pattern.compile("_(\\w)");
    private static Pattern humpPattern = Pattern.compile("[A-Z]");

    // 判断字符串为空
    public static boolean isEmpty(String str) {
        if ("".equals(str) || str == null) {
            return true;
        } else {
            return false;
        }
    }

    // 判断字符串不为空
    public static boolean isNotEmpty(String str) {
        if (!"".equals(str) && str != null) {
            return true;
        } else {
            return false;
        }
    }

    /**
     * 下划线转驼峰
     */
    public static String lineToHump(String str) {
        str = str.toLowerCase();
        Matcher matcher = linePattern.matcher(str);
        StringBuffer sb = new StringBuffer();
        while (matcher.find()) {
            matcher.appendReplacement(sb, matcher.group(1).toUpperCase());
        }
        matcher.appendTail(sb);
        return sb.toString();
    }

    /**
     * 驼峰转下划线(单写法,效率低于{@link #humpToLine2(String)})
     */
    public static String humpToLine(String str) {
        return str.replaceAll("[A-Z]", "_$0").toLowerCase();
    }


    /**
     * 驼峰转下划线,效率比上面高
     */
    public static String humpToLine2(String str) {
        Matcher matcher = humpPattern.matcher(str);
        StringBuffer sb = new StringBuffer();
        while (matcher.find()) {
            matcher.appendReplacement(sb, "_" + matcher.group(0).toLowerCase());
        }
        matcher.appendTail(sb);
        return sb.toString();
    }

}

LoginFrame


package com.sjsq.view;

import com.sjsq.dao.AdminDao;
import com.sjsq.utils.StringUtil;

import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * 登录系统
 */
public class LoginFrame extends JFrame {

    private JPanel contentPane;
    private JTextField unameText;
    private JPasswordField pwdText;

    private AdminDao userDao = new AdminDao();

    /**
     * 主函数
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    LoginFrame frame = new LoginFrame();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * 创建窗体
     */
    public LoginFrame() {
        setTitle("超市商品信息管理系统");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        setLocationRelativeTo(null);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        JLabel lblNewLabel = new JLabel("系统登录");
        lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 25));
        lblNewLabel.setBounds(177, 32, 108, 25);
        contentPane.add(lblNewLabel);

        JLabel lblNewLabel_1 = new JLabel("账号:");
        lblNewLabel_1.setBounds(98, 89, 54, 15);
        contentPane.add(lblNewLabel_1);

        JLabel lblNewLabel_2 = new JLabel("密码:");
        lblNewLabel_2.setBounds(98, 152, 54, 15);
        contentPane.add(lblNewLabel_2);

        unameText = new JTextField();
        unameText.setBounds(148, 86, 166, 21);
        contentPane.add(unameText);
        unameText.setColumns(10);

        pwdText = new JPasswordField();
        pwdText.setBounds(148, 149, 166, 21);
        contentPane.add(pwdText);

        JButton btnNewButton = new JButton("登录");
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

                String username = unameText.getText();
                String password = pwdText.getText();
                if (StringUtil.isEmpty(username)) {
                    JOptionPane.showMessageDialog(contentPane, "请输入账号", "系统提示", JOptionPane.WARNING_MESSAGE);
                    return;
                }
                if (StringUtil.isEmpty(password)) {
                    JOptionPane.showMessageDialog(contentPane, "请输入密码", "系统提示", JOptionPane.WARNING_MESSAGE);
                    return;
                }
                try {
                    // 登录账号验证
                    boolean flag = userDao.login(username, password);
                    if (flag) {
                        //跳转主界面
                        JOptionPane.showMessageDialog(contentPane, "登录成功!");
                        MainFrame main = new MainFrame();
                        main.setVisible(true);
                        // 释放所有本机屏幕资源
                        dispose();
                    } else {
                        JOptionPane.showMessageDialog(contentPane, "用户名密码错误!", "系统提示", JOptionPane.WARNING_MESSAGE);
                        return;
                    }
                } catch (Exception e1) {
                    e1.printStackTrace();
                    JOptionPane.showMessageDialog(contentPane, "登录异常:" + e1.getMessage(), "系统提示", JOptionPane.WARNING_MESSAGE);
                    return;
                }

            }
        });
        btnNewButton.setBounds(146, 202, 76, 23);
        contentPane.add(btnNewButton);

        JButton btnNewButton_1 = new JButton("退出");
        btnNewButton_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                dispose();
            }
        });
        btnNewButton_1.setBounds(237, 202, 76, 23);
        contentPane.add(btnNewButton_1);
    }

}

CustomerAddFrame


package com.sjsq.view;

import com.sjsq.dao.CustomerDao;
import com.sjsq.model.Customer;
import com.sjsq.utils.StringUtil;

import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * 新增客户信息类
 */
public class CustomerAddFrame extends JFrame {

    // 定义内容面板
    private JPanel contentPane;
    // 定义姓名文本
    private JTextField nameText;
    private JTextField phoneText;
    private JTextField addressText;

    private CustomerDao customerDao = new CustomerDao();


    /**
     * Create the frame.
     */
    public CustomerAddFrame() {
        setTitle("新增客户信息");
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setBounds(100, 100, 353, 351);
        setLocationRelativeTo(null);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        JLabel lblNewLabel = new JLabel("客户名称:");
        lblNewLabel.setBounds(29, 34, 92, 15);
        contentPane.add(lblNewLabel);

        // 创建空白文本
        nameText = new JTextField();
        // 设置位置大小
        nameText.setBounds(113, 31, 182, 21);
        // 添加到面板
        contentPane.add(nameText);
        // 设置内容宽度
        nameText.setColumns(15);

        JLabel lblNewLabel_1 = new JLabel("联系电话:");
        lblNewLabel_1.setBounds(29, 84, 92, 15);
        contentPane.add(lblNewLabel_1);

        phoneText = new JTextField();
        phoneText.setBounds(113, 81, 182, 21);
        contentPane.add(phoneText);
        phoneText.setColumns(10);

        JLabel lblNewLabel_5 = new JLabel("客户地址:");
        lblNewLabel_5.setBounds(29, 148, 91, 15);
        contentPane.add(lblNewLabel_5);

        addressText = new JTextField();
        addressText.setBounds(113, 145, 182, 21);
        contentPane.add(addressText);
        addressText.setColumns(10);


        JButton btnNewButton = new JButton("保存");
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                // 获取输入的信息
                String name = nameText.getText();
                String phone = phoneText.getText();
                String address = addressText.getText();
                // 判断输入为空,弹出相应提示
                if (StringUtil.isEmpty(name)) {
                    JOptionPane.showMessageDialog(contentPane, "请输入客户名称", "系统提示", JOptionPane.WARNING_MESSAGE);
                    return;
                }

                if (StringUtil.isEmpty(phone)) {
                    JOptionPane.showMessageDialog(contentPane, "请输入联系电话", "系统提示", JOptionPane.WARNING_MESSAGE);
                    return;
                }

                if (StringUtil.isEmpty(address)) {
                    JOptionPane.showMessageDialog(contentPane, "请输入客户地址", "系统提示", JOptionPane.WARNING_MESSAGE);
                    return;
                }

                // 创建对象
                Customer customer = new Customer();
                // 保存信息到对象中
                customer.setName(name);
                customer.setPhone(phone);
                customer.setAddress(address);
                try {
                    // 新增信息
                    customerDao.save(customer);
                } catch (Exception e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                    JOptionPane.showMessageDialog(contentPane, "保存异常:" + e1.getMessage(), "系统提示", JOptionPane.WARNING_MESSAGE);
                    return;
                }
                JOptionPane.showMessageDialog(contentPane, "保存成功!");
                dispose();
            }
        });
        btnNewButton.setBounds(113, 215, 74, 23);
        contentPane.add(btnNewButton);

        JButton btnNewButton_1 = new JButton("取消");
        btnNewButton_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                dispose();
            }
        });
        btnNewButton_1.setBounds(220, 215, 74, 23);
        contentPane.add(btnNewButton_1);
    }

}

四、其他

1.更多系统

Java+Swing系统系列实现

Java+Swing实现斗地主游戏

Java+Swing实现图书管理系统

Java+Swing实现医院管理系统

Java+Swing实现考试管理系统

Java+Swing实现酒店管理系统

Java+Swing实现超市管理系统

Java+Swing实现电影购票系统

Java+Swing实现仓库管理系统-1

Java+Swing实现仓库管理系统-2

Java+Swing实现进销存管理系统

Java+Swing实现自助取款机系统

Java+Swing实现通讯录管理系统

Java+Swing实现停车场管理系统

Java+Swing实现学生信息管理系统-1

Java+Swing实现学生信息管理系统-2

Java+Swing实现学生宿舍管理系统

Java+Swing实现学生选课管理系统

Java+Swing实现学生成绩管理系统

Java+Swing实现学校教材管理系统

Java+Swing实现学校教务管理系统

Java+Swing实现企业人事管理系统

Java+Swing实现电子相册管理系统

Java+Swing实现超市管理系统-TXT存储数据

Java+Swing实现自助取款机系统-TXT存储数据

Java+Swing实现宠物商店管理系统-TXT存储数据

Java+JSP系统系列实现

Java+JSP实现学生图书管理系统

Java+JSP实现学生信息管理系统

Java+JSP实现用户信息管理系统

Java+JSP实现教师信息管理系统

Java+JSP实现学生宿舍管理系统

Java+JSP实现商品信息管理系统

Java+JSP实现宠物信息管理系统

Java+JSP实现学生成绩管理系统

Java+Servlet系统系列实现

Java+Servlet+JSP实现航空订票系统

Java+Servlet+JSP实现新闻发布系统

Java+Servlet+JSP学生宿舍管理系统

Java+Servlet+JSP实现图书管理系统

Java+Servlet+JSP实现停车场管理系统

Java+Servlet+JSP实现房屋租赁管理系统

Java+Servlet+JSP实现学生信息管理系统

Java+Servlet+JSP实现学生选课管理系统

Java+Servlet+JSPl实现学生选课签到系统

Java+Servlet+JSP实现宠物诊所管理系统

Java+Servlet+JSP实现学生成绩管理系统-1

Java+Servlet+JSP实现学生成绩管理系统-2

Java+SSM系统系列实现

Java+SSM+JSP实现网上考试系统

Java+SSM+JSP实现宠物商城系统

Java+SSM+JSP实现超市管理系统

Java+SSM+JSP实现学生成绩管理系统

Java+SSM+JSP实现学生信息管理系统

Java+SSM+JSP实现药品信息管理系统

Java+SSM+JSP实现汽车信息管理系统

Java+SSM+Jspl实现商品信息管理系统

Java+SSM+JSP+Maven实现网上书城系统

Java+SSM+JSP+Maven实现学校教务管理系统

Java+SSH系统系列实现

Java+SSH+JSP实现在线考试系统

Java+SSH+JSP实现医院在线挂号系统

Java+Springboot系统系列实现

Java+Springboot+H-ui+Maven实现营销管理系统

Java+Springboot+Bootstrap+Maven实现网上商城系统

Java+Springboot+Bootstrap+Maven实现景区旅游管理系统

1.更多JavaWeb系统请关注专栏。

https://blog.csdn.net/helongqiang/category_10020130.html

2.更多JavaSwing系统请关注专栏。

https://blog.csdn.net/helongqiang/category_6229101.html

2.源码下载

sql在sql文件夹下面

系统账号信息如下,此处是管理员权限

账号:admin 密码:admin

下载地址:Java+Swing+Mysql实现超市管理系统

3.运行项目

关注B站:水坚石青

后期有更多干货视频推出!!!

Eclipse如何导入JavaSwing项目超详细教程

4.备注

如有侵权请联系我删除。

5.支持博主

如果您觉得此文对您有帮助,请点赞加关注加收藏。祝您生活愉快!文章来源地址https://www.toymoban.com/news/detail-841198.html

到了这里,关于Java+Swing+Mysql实现超市管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java实现超市账单管理系统 JAVA+Vue+SpringBoot+MySQL

    基于JAVA+Vue+SpringBoot+MySQL的超市账单管理系统,包含供应商模块、商品管理模块、超市账单模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,超市账单管理系统基于角色的访问控制,给超市管理员

    2024年01月22日
    浏览(38)
  • 基于java Swing 和 mysql实现的购物管理系统(源码+数据库+说明文档+运行指导视频)

    本项目是一套基于java Swing 和 mysql实现的购物管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、项目文档、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,确保可以运行! 技术栈:Jav

    2024年02月10日
    浏览(33)
  • (解析+源码)基于JAVA Swing+MySQL实现学生信息管理系统(增、删、改、查)数据库/文件存储

    本文适合 有一定JAVA编程基础(听过一点课的同学) 的同学“食用”,源代码都在文末 源代码(点击跳转) ,第四部分是各个模块的实现,新建一个工程把下面代码添加进去,然后在数据库里按id-username-password和id-name-sex-telephone-number-birthday-note创建两个表,在Connect.java里面将us

    2024年02月04日
    浏览(39)
  • 基于java swing和mysql实现的汽车租赁管理系统(源码+数据库+文档+运行指导视频)

    本项目是一套基于java swing和mysql实现的汽车租赁管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、项目文档、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,确保可以运行! 该系统功能

    2024年02月10日
    浏览(37)
  • 超市管理系统(java+Mysql)

    目 录 摘 要 I Abstract II 1 正文 1 1.1研究背景分析 1 1.2 超市管理系统的概述 2 1.3所需软、硬件技术准备 2 1.4可行性分析 3 1.4.1 技术可行性 3 1.4.2 经济可行性 3 1.4.3 社会可行性 3 2 需求分析 4 2.1 需求分析的任务及主要内容 4 2.2.1 具体业务的需求 4 2.2 层次图 4 2.3数据流图 5 3 概要设

    2024年02月05日
    浏览(41)
  • 基于Java+Swing+Mysql项目信息管理系统

    该系统实现了查看项目列表、新增项目信息、删除项目信息 运行环境:eclipse、idea、jdk1.8 Java+Swing实现学生选课管理系统 Java+Swing实现学校教务管理系统 Java+Swing+sqlserver学生成绩管理系统 Java+Swing用户信息管理系统 Java+Swing实现的五子棋游戏 基于JavaSwing 银行管理系统 Java+Swing

    2024年02月11日
    浏览(39)
  • java+swing+mysql酒店管理系统分析设计

    开发前言: 酒店行业是一个前景广阔又竞争激烈的行业,自改革开发以来,我国的酒店行业飞速发展,已经成为了一个相当规模的产业。传统的酒店采用手工方式进行客房信息、客户信息、预约信息、住房结算信息等管理,容易出现错误或者漏洞,因此酒店管理系统应运而生

    2023年04月08日
    浏览(27)
  • (JAVASwing界面)java实现简单的人事管理系统(数据库原理课程设计)

    题目:人事管理系统 摘要(包含两个部分): 1、课题需要完成的内容 人事管理系统是企业管理系统中不可缺少的重要组成部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。我们希望设计一个

    2024年02月03日
    浏览(35)
  • 学生社团管理系统(Java+Swing+mysql)(超简陋)

    目录 学生社团管理系统(Java+Swing+mysql) 写在前面: 根据需求分析的输入描绘的社团活动管理系统结构图如下: 用户(社团管理员)登录社团活动管理系统DFD图: 其中活动信息的数据字典如下: 概念设计(E-R图) 制作阶段 写在前面:         作为一个计本专业大二的学生,

    2024年02月08日
    浏览(26)
  • 基于Java+Mysql的超市管理系统(附源码)

    项目下载: gitee下载:https://gitee.com/wusupweilgy/taobao.git 蓝奏云下载:https://wwp.lanzoup.com/i0ZZB0ywnipi 课设报告:https://wwp.lanzoup.com/iZLV20te02cd 提取码:6666 (包括所有代码源文件、第三方库和界面图片) 基于Java swing+Mysql实现的超市管理与购物系统,使用了beautyEye_inf.jar美化界面,使用

    2024年02月04日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包