操作系统: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 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
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();
}
}
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
下载地址:https://download.csdn.net/download/helongqiang/87505922
关注B站:水坚石青
后期有更多干货视频推出!!!
Eclipse如何导入JavaSwing项目超详细教程
如有侵权请联系我删除。
如果您觉得此文对您有帮助,请点赞加关注加收藏。祝您生活愉快!