Java+Swing+Mysql实现超市管理系统
作者:mmseoamin日期:2024-03-20

一、系统介绍

1.开发环境

操作系统:Win10

开发工具 :IDEA2018

JDK版本:jdk1.8

数据库:Mysql8.0

2.技术选型

Java+Swing+Mysql

3.功能模块

Java+Swing+Mysql实现超市管理系统,第1张

4.系统功能

1.系统登录登出

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

2.商品信息管理

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

3.出库信息管理

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

4.入库信息管理

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

5.客户信息管理

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

6.供应商信息管理

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

5.工程结构

Java+Swing+Mysql实现超市管理系统,第2张

二、系统展示

1.登录页面

Java+Swing+Mysql实现超市管理系统,第3张

2.主页面

Java+Swing+Mysql实现超市管理系统,第4张

3.商品展示

Java+Swing+Mysql实现超市管理系统,第5张

4.商品新增

Java+Swing+Mysql实现超市管理系统,第6张

5.出库展示

Java+Swing+Mysql实现超市管理系统,第7张

6.出库新增

Java+Swing+Mysql实现超市管理系统,第8张

7.入库展示

Java+Swing+Mysql实现超市管理系统,第9张

8.入库新增

Java+Swing+Mysql实现超市管理系统,第10张

9.客户展示

Java+Swing+Mysql实现超市管理系统,第11张

10.客户新增

Java+Swing+Mysql实现超市管理系统,第12张

11.供应商展示

Java+Swing+Mysql实现超市管理系统,第13张

12.供应商新增

Java+Swing+Mysql实现超市管理系统,第14张

13.关于我们

Java+Swing+Mysql实现超市管理系统,第15张

三、部分代码

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 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 getAll() throws Exception {
        return DBUtil.getQueryList("select * from t_customer order by id asc", Customer.class);
    }
    /**
     * 条件查询
     *
     * @param name
     * @return
     * @throws Exception
     */
    public List search(String name) throws Exception {
        List 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 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 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 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 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]", "_

LoginFrame

").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(); } }
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+JSP系统系列实现

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+Servlet系统系列实现

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

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

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

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

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

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

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

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

Java+SSM系统系列实现

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+SSH系统系列实现

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+Springboot系统系列实现

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

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

2.源码下载

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

3.运行项目

sql在sql文件夹下面

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

账号:admin 密码:admin

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

4.备注

关注B站:水坚石青

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

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

5.支持博主

如有侵权请联系我删除。

企业微信会话存档

如果您觉得此文对您有帮助,请点赞加关注加收藏。祝您生活愉快!