赞
踩
操作系统: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<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;
- }
-
- }

-
- 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);
- }
-
- }

-
- 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+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
关注B站:水坚石青
后期有更多干货视频推出!!!
如有侵权请联系我删除。
如果您觉得此文对您有帮助,请点赞加关注加收藏。祝您生活愉快!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。