用java和mysql写一个超市管理系统
时间: 2024-04-30 22:18:06 浏览: 264
超市管理系统 Java Swing + MySQL JDBC开发
5星 · 资源好评率100%
好的,下面是一个简单的超市管理系统的Java代码,使用MySQL作为数据库:
首先,你需要创建一个MySQL数据库,并创建一个名为"market"的表,包含以下字段:
- id: 商品ID
- name: 商品名称
- price: 商品单价
- stock: 商品库存
```sql
CREATE DATABASE market;
USE market;
CREATE TABLE products (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
price FLOAT NOT NULL,
stock INT(11) NOT NULL,
PRIMARY KEY (id)
);
```
然后,你需要下载并安装MySQL的JDBC驱动程序,在你的Java项目中添加它作为依赖项。
接下来,我们来编写Java代码:
```java
import java.sql.*;
public class MarketSystem {
private Connection conn;
// 连接数据库
public MarketSystem() {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://localhost/market", "root", "password");
} catch (ClassNotFoundException e) {
System.err.println("Could not load JDBC driver");
e.printStackTrace();
} catch (SQLException e) {
System.err.println("Could not connect to database");
e.printStackTrace();
}
}
// 添加商品
public void addProduct(String name, float price, int stock) {
try {
PreparedStatement stmt = conn.prepareStatement(
"INSERT INTO products (name, price, stock) VALUES (?, ?, ?)");
stmt.setString(1, name);
stmt.setFloat(2, price);
stmt.setInt(3, stock);
stmt.executeUpdate();
} catch (SQLException e) {
System.err.println("Could not add product");
e.printStackTrace();
}
}
// 更新商品
public void updateProduct(int id, String name, float price, int stock) {
try {
PreparedStatement stmt = conn.prepareStatement(
"UPDATE products SET name=?, price=?, stock=? WHERE id=?");
stmt.setString(1, name);
stmt.setFloat(2, price);
stmt.setInt(3, stock);
stmt.setInt(4, id);
stmt.executeUpdate();
} catch (SQLException e) {
System.err.println("Could not update product");
e.printStackTrace();
}
}
// 删除商品
public void deleteProduct(int id) {
try {
PreparedStatement stmt = conn.prepareStatement(
"DELETE FROM products WHERE id=?");
stmt.setInt(1, id);
stmt.executeUpdate();
} catch (SQLException e) {
System.err.println("Could not delete product");
e.printStackTrace();
}
}
// 查询商品
public void searchProduct(String name) {
try {
PreparedStatement stmt = conn.prepareStatement(
"SELECT * FROM products WHERE name LIKE ?");
stmt.setString(1, "%" + name + "%");
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
System.out.printf("%d\t%s\t%.2f\t%d%n",
rs.getInt("id"),
rs.getString("name"),
rs.getFloat("price"),
rs.getInt("stock"));
}
} catch (SQLException e) {
System.err.println("Could not search product");
e.printStackTrace();
}
}
// 关闭数据库连接
public void close() {
try {
conn.close();
} catch (SQLException e) {
System.err.println("Could not close database connection");
e.printStackTrace();
}
}
}
```
这个Java类中包含了一些方法:
- `addProduct(name, price, stock)`:添加商品
- `updateProduct(id, name, price, stock)`:更新商品
- `deleteProduct(id)`:删除商品
- `searchProduct(name)`:查询商品
- `close()`:关闭数据库连接
你可以根据自己的需要进行修改和扩展。
最后,我们来演示如何使用这个超市管理系统:
```java
public static void main(String[] args) {
MarketSystem market = new MarketSystem();
// 添加商品
market.addProduct("可乐", 3.0f, 100);
market.addProduct("薯片", 5.0f, 50);
market.addProduct("巧克力", 2.5f, 200);
// 更新商品
market.updateProduct(1, "雪碧", 3.5f, 120);
// 删除商品
market.deleteProduct(2);
// 查询商品
market.searchProduct("巧");
// 关闭数据库连接
market.close();
}
```
以上是一个非常简单的超市管理系统的Java代码,你可以根据自己的需求进行修改和扩展。
阅读全文