操作系统:Win10
开发工具 :IDEA2018
JDK版本:jdk1.8
数据库:Mysql8.0
Java+Swing+Mysql
管理员可以登录、退出系统
管理员可以对商品信息进行查询、添加、修改、删除等操作。
管理员可以对出库信息进行查询、添加、修改、删除等操作。
管理员可以对入库信息进行查询、添加、修改、删除等操作。
管理员可以对客户信息进行查询、添加、修改、删除等操作。
管理员可以对供应商信息进行查询、添加、修改、删除等操作。
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
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 ListgetAll() 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
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); } }
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); } }
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+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+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+JSP实现在线考试系统
Java+SSH+JSP实现医院在线挂号系统
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
sql在sql文件夹下面
系统账号信息如下,此处是管理员权限
账号:admin 密码:admin
下载地址:Java+Swing+Mysql实现超市管理系统
关注B站:水坚石青
后期有更多干货视频推出!!!
Eclipse如何导入JavaSwing项目超详细教程
如有侵权请联系我删除。
哪家集团公司网站比较好如果您觉得此文对您有帮助,请点赞加关注加收藏。祝您生活愉快!