Skip to content

ksx919/java-work3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

订单管理系统

该订单管理系统我已完成如下功能:

1、数据库建立:数据库名:order,含有三张表product、orders、order_product

product        ID         Name     Price         Stock

记录商品    商品ID    商品名 商品价格    商品库存

orders            ID        Time         Price

记录订单    订单ID    下单时间    订单总价格

order_product                        OrderID        ProductID        ProductQuantity

记录商品与订单的关系           订单号          商品号               商品数量

其中order_product中,(OrderID,ProductID)构成主码

2、编写JDBC工具类

处理数据库连接

static {
try {
// 使用最新的驱动类名
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("MYSQL连接错误。");
}
}

// 获取数据库连接
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(URL, USER, PASSWORD);
}

执行增删查改操作

public static int executeUpdate(String sql, Object... params)

public static ResultSet executeQuery(String sql, Object... params)

添加事务管理

public static void beginTransaction(Connection conn)

public static void commitTransaction(Connection conn)

public static void rollbackTransaction(Connection conn)

资源释放函数

public static void close(ResultSet rs, Statement stmt, Connection conn)

每个函数均包含异常处理且自定义三个异常处理类ProductNotFoundException(商品未找到)    ProductPriceException(商品价格有问题)    StockNotEnough(库存不足)

3、根据JDBC工具类编写商品和订单的增删改查

创建订单public void createOrder(int[] productIds, int[] quantities)

删除订单public void deleteOrder(int orderId)

查询订单public void listOrders()

查询订单并根据订单价格排序public void listOrdersByPrice()

查询订单并根据时间排序public void listOrdersByTime()

实现分页查询订单public void listOrdersByPage(int page, int pageSize)

添加商品public void addProduct(String name, double price)

删除商品public void deleteProduct(String name)

查询所有商品public void listProducts()

查询所有商品并根据价格排序public void listProductsByPrice()

更新商品价格public void updateProductPrice(int productId, double newPrice)

实现分页查询商品public void listProductsByPage(int page, int pageSize)

4、商品存在有检测功能,当商品存在时,价格不同则无法添加商品。价格相同则增加库存。

5、价格有检测必须大于0,且如上添加商品价格不同时无法添加。

6、如果想要删除已经存在在订单中的商品,将拒绝删除该商品。且如果要删除订单将级联删除order_product表

7、未使用SELECT *

8、实现了分页查询。

9、使用了maven环境搭建

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages