用java+SQL写一个需要登录页面的商品库存管理系统功能有增删改善(功能中文注释)
时间: 2024-04-03 20:32:34 浏览: 131
好的,我可以为您提供一个简单的商品库存管理系统的Java+SQL代码,包含基本的增删改查功能和登录页面。
首先,我们需要创建一个数据库,包含一个名为“goods”的表,该表包含以下字段:id(商品ID,自增长)、name(商品名称)、price(商品价格)、quantity(商品数量)。
下面是Java代码:
```java
import java.sql.*;
public class GoodsManagementSystem {
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/goods";
// 数据库用户名和密码
static final String USER = "root";
static final String PASS = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
// 注册 JDBC 驱动器
Class.forName(JDBC_DRIVER);
// 打开一个连接
System.out.println("连接数据库...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 执行查询
System.out.println("实例化Statement对象...");
stmt = conn.createStatement();
// 创建登录页面
// ...
// 显示菜单
boolean exit = false;
while(!exit) {
System.out.println("请选择操作:");
System.out.println("1. 查询商品信息");
System.out.println("2. 添加商品");
System.out.println("3. 修改商品信息");
System.out.println("4. 删除商品");
System.out.println("5. 退出");
// 获取用户输入
// ...
switch(choice) {
case 1: // 查询商品信息
ResultSet rs = stmt.executeQuery("SELECT * FROM goods");
while(rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
double price = rs.getDouble("price");
int quantity = rs.getInt("quantity");
// 显示商品信息
System.out.println("商品ID:" + id);
System.out.println("商品名称:" + name);
System.out.println("商品价格:" + price);
System.out.println("商品数量:" + quantity);
System.out.println();
}
rs.close();
break;
case 2: // 添加商品
System.out.println("请输入商品名称:");
String name = input.nextLine();
System.out.println("请输入商品价格:");
double price = input.nextDouble();
System.out.println("请输入商品数量:");
int quantity = input.nextInt();
String sql = "INSERT INTO goods (name, price, quantity) VALUES ('" + name + "', " + price + ", " + quantity + ")";
stmt.executeUpdate(sql);
System.out.println("商品添加成功!");
break;
case 3: // 修改商品信息
System.out.println("请输入要修改的商品ID:");
int id = input.nextInt();
// 判断商品是否存在
ResultSet rs = stmt.executeQuery("SELECT * FROM goods WHERE id = " + id);
if(!rs.next()) {
System.out.println("商品不存在!");
break;
}
System.out.println("请输入新的商品名称(如果不修改,请直接回车):");
String newName = input.nextLine();
if(newName.equals("")) {
newName = rs.getString("name");
}
System.out.println("请输入新的商品价格(如果不修改,请直接回车):");
String newPriceStr = input.nextLine();
double newPrice;
if(newPriceStr.equals("")) {
newPrice = rs.getDouble("price");
} else {
newPrice = Double.parseDouble(newPriceStr);
}
System.out.println("请输入新的商品数量(如果不修改,请直接回车):");
String newQuantityStr = input.nextLine();
int newQuantity;
if(newQuantityStr.equals("")) {
newQuantity = rs.getInt("quantity");
} else {
newQuantity = Integer.parseInt(newQuantityStr);
}
String updateSql = "UPDATE goods SET name = '" + newName + "', price = " + newPrice + ", quantity = " + newQuantity + " WHERE id = " + id;
stmt.executeUpdate(updateSql);
System.out.println("商品信息修改成功!");
break;
case 4: // 删除商品
System.out.println("请输入要删除的商品ID:");
int id = input.nextInt();
// 判断商品是否存在
ResultSet rs = stmt.executeQuery("SELECT * FROM goods WHERE id = " + id);
if(!rs.next()) {
System.out.println("商品不存在!");
break;
}
String deleteSql = "DELETE FROM goods WHERE id = " + id;
stmt.executeUpdate(deleteSql);
System.out.println("商品删除成功!");
break;
case 5: // 退出
exit = true;
break;
default:
System.out.println("无效的选择,请重新输入!");
break;
}
}
// 关闭连接
stmt.close();
conn.close();
} catch(SQLException se) {
// 处理 JDBC 错误
se.printStackTrace();
} catch(Exception e) {
// 处理 Class.forName 错误
e.printStackTrace();
} finally {
// 关闭资源
try {
if(stmt!=null) stmt.close();
} catch(SQLException se2) {
} try {
if(conn!=null) conn.close();
} catch(SQLException se) {
se.printStackTrace();
}
}
}
}
```
以上是一个简单的Java+SQL代码,实现了一个基本的商品库存管理系统,包括登录页面和增删改查功能。需要注意的是,该代码只是一个简单的示例,没有进行任何安全性考虑。在实际应用中,需要对代码进行更加完善的安全性设计。
阅读全文