当前位置:实例文章 » 其他实例» [文章]基于JavasSwing+MySQL的医药销售管理系统

基于JavasSwing+MySQL的医药销售管理系统

发布人:shili8 发布时间:2024-11-16 03:23 阅读次数:0

**医药销售管理系统**

本系统基于Java Swing和MySQL开发,旨在为医药销售提供一个全面的管理平台。系统包括用户登录、产品管理、订单管理、客户管理等功能。

### 系统结构1. **数据库设计**
* 创建名为`medicinesale`的数据库* 设计以下表格:
+ `users`:存储用户信息(用户名、密码、角色)
+ `products`:存储产品信息(名称、价格、库存量)
+ `orders`:存储订单信息(订单号、客户ID、总金额)
+ `orderdetails`:存储订单详细信息(订单号、产品ID、数量)
+ `customers`:存储客户信息(客户名、联系方式)
2. **Java Swing界面**
* 设计登录界面:包含用户名和密码输入框,登录按钮* 设计主界面:包含菜单栏,显示当前用户的角色和功能* 设计产品管理界面:包含产品列表,添加、编辑、删除产品按钮* 设计订单管理界面:包含订单列表,添加、编辑、删除订单按钮* 设计客户管理界面:包含客户列表,添加、编辑、删除客户按钮###代码示例#### 用户登录界面

javaimport javax.swing.*;
import java.awt.*;

public class LoginFrame extends JFrame {
 private JTextField usernameField;
 private JPasswordField passwordField;

 public LoginFrame() {
 setLayout(new FlowLayout());

 JLabel usernameLabel = new JLabel("用户名:");
 usernameField = new JTextField(20);
 add(usernameLabel);
 add(usernameField);

 JLabel passwordLabel = new JLabel("密码:");
 passwordField = new JPasswordField(20);
 add(passwordLabel);
 add(passwordField);

 JButton loginButton = new JButton("登录");
 loginButton.addActionListener(e -> {
 String username = usernameField.getText();
 String password = new String(passwordField.getPassword());
 // 验证用户名和密码,跳转到主界面 });
 add(loginButton);

 setSize(300,150);
 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
}


####产品管理界面
javaimport javax.swing.*;
import java.awt.*;

public class ProductFrame extends JFrame {
 private JTable productTable;

 public ProductFrame() {
 setLayout(new BorderLayout());

 //产品列表表格 String[] columnNames = {"名称", "价格", "库存量"};
 Object[][] data = {{"产品1",10.99,100}, {"产品2",5.99,50}};
 productTable = new JTable(data, columnNames);
 JScrollPane scrollPane = new JScrollPane(productTable);

 // 添加、编辑、删除按钮 JPanel buttonPanel = new JPanel();
 JButton addButton = new JButton("添加");
 JButton editButton = new JButton("编辑");
 JButton deleteButton = new JButton("删除");
 buttonPanel.add(addButton);
 buttonPanel.add(editButton);
 buttonPanel.add(deleteButton);

 // 添加、编辑、删除事件处理 addButton.addActionListener(e -> {
 // 添加新产品 });
 editButton.addActionListener(e -> {
 // 编辑选中产品 });
 deleteButton.addActionListener(e -> {
 // 删除选中产品 });

 add(scrollPane, BorderLayout.CENTER);
 add(buttonPanel, BorderLayout.SOUTH);

 setSize(400,300);
 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
}


#### 订单管理界面
javaimport javax.swing.*;
import java.awt.*;

public class OrderFrame extends JFrame {
 private JTable orderTable;

 public OrderFrame() {
 setLayout(new BorderLayout());

 // 订单列表表格 String[] columnNames = {"订单号", "客户ID", "总金额"};
 Object[][] data = {{"订单1",1,100.99}, {"订单2",2,50.99}};
 orderTable = new JTable(data, columnNames);
 JScrollPane scrollPane = new JScrollPane(orderTable);

 // 添加、编辑、删除按钮 JPanel buttonPanel = new JPanel();
 JButton addButton = new JButton("添加");
 JButton editButton = new JButton("编辑");
 JButton deleteButton = new JButton("删除");
 buttonPanel.add(addButton);
 buttonPanel.add(editButton);
 buttonPanel.add(deleteButton);

 // 添加、编辑、删除事件处理 addButton.addActionListener(e -> {
 // 添加新订单 });
 editButton.addActionListener(e -> {
 // 编辑选中订单 });
 deleteButton.addActionListener(e -> {
 // 删除选中订单 });

 add(scrollPane, BorderLayout.CENTER);
 add(buttonPanel, BorderLayout.SOUTH);

 setSize(400,300);
 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
}


### MySQL数据库设计
sqlCREATE DATABASE medicinesale;

USE medicinesale;

CREATE TABLE users (
 id INT PRIMARY KEY AUTO_INCREMENT,
 username VARCHAR(255) NOT NULL,
 password VARCHAR(255) NOT NULL,
 role ENUM('admin', 'user') NOT NULL DEFAULT 'user'
);

CREATE TABLE products (
 id INT PRIMARY KEY AUTO_INCREMENT,
 name VARCHAR(255) NOT NULL,
 price DECIMAL(10,2) NOT NULL,
 stock INT NOT NULL);

CREATE TABLE orders (
 id INT PRIMARY KEY AUTO_INCREMENT,
 customer_id INT NOT NULL,
 total_amount DECIMAL(10,2) NOT NULL,
 FOREIGN KEY (customer_id) REFERENCES customers(id)
);

CREATE TABLE orderdetails (
 id INT PRIMARY KEY AUTO_INCREMENT,
 order_id INT NOT NULL,
 product_id INT NOT NULL,
 quantity INT NOT NULL,
 FOREIGN KEY (order_id) REFERENCES orders(id),
 FOREIGN KEY (product_id) REFERENCES products(id)
);

CREATE TABLE customers (
 id INT PRIMARY KEY AUTO_INCREMENT,
 name VARCHAR(255) NOT NULL,
 contact VARCHAR(255) NOT NULL);


### Java代码
javaimport javax.swing.*;
import java.awt.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class Main {
 public static void main(String[] args) {
 // 加载MySQL驱动 try {
 Class.forName("com.mysql.cj.jdbc.Driver");
 } catch (ClassNotFoundException e) {
 System.out.println("MySQL驱动加载失败!");
 return;
 }

 // 连接数据库 Connection conn = null;
 try {
 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/medicinesale", "root", "");
 } catch (Exception e) {
 System.out.println("连接数据库失败!");
 return;
 }

 // 创建登录界面 LoginFrame loginFrame = new LoginFrame();
 loginFrame.setVisible(true);

 // 验证用户名和密码,跳转到主界面 String username = loginFrame.getUsernameField().getText();
 String password = new String(loginFrame.getPasswordField().getPassword());
 if (verifyUser(username, password)) {
 // 跳转到主界面 MainFrame mainFrame = new MainFrame();
 mainFrame.setVisible(true);
 } else {
 System.out.println("用户名或密码错误!");
 }
 }

 private static boolean verifyUser(String username, String password) {
 // 验证用户名和密码 try (PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM users WHERE username = ? AND password = ?")) {
 pstmt.setString(1, username);
 pstmt.setString(2, password);
 ResultSet rs = pstmt.executeQuery();
 return rs.next();
 } catch (Exception e) {
 System.out.println("验证用户失败!");
 return false;
 }
 }
}


### 总结本系统基于Java Swing和MySQL开发,旨在为医药销售提供一个全面的管理平台。系统包括用户登录、产品管理、订单管理、客户管理等功能。通过上述代码示例,可以实现基本的功能,如添加、编辑、删除产品和订单,以及验证用户名和密码。

相关标签:mysql
其他信息

其他资源

Top