本项目是一个简单的订单管理系统,基于 JDBC 实现商品和订单的增删改查功能。项目提供了事务管理、防止 SQL 注入等功能。
- 插入商品:新增商品信息,包括商品名称和价格。
- 查询商品:根据商品名称查找商品信息。
- 更新商品:修改商品价格。
- 删除商品:从数据库中移除商品。
- 创建订单:为指定的商品和用户创建订单。
- 查询订单:
- 按下单时间排序查询订单。
- 按订单价格排序查询订单。
- 更新订单:修改订单的商品或购买数量。
- 删除订单:根据订单编号删除订单。
|-src
|-manager
|-ItemManager.java //实现商品管理的核心逻辑。
|-OrderManager.java //实现订单管理的核心逻辑。
|-IllegalNum.java //价格异常
|-IllegalName.java //名字异常
|-object
|-Item.java //商品对象
|-Order.java //订单对象
|-utils //配置文件
|-db.properties
|-JDBCUtils.java
|-test
|-Test.java //用于测试 `ItemManager` 和 `OrderManager` 的功能。
|-README.md //项目说明文档(当前文件)。
ItemManager.java
:实现商品管理的核心逻辑。OrderManager.java
:实现订单管理的核心逻辑。Test.java
:用于测试ItemManager
和OrderManager
的功能。README.md
:项目说明文档(当前文件)。
-
开发环境:
- MySQL 数据库
- IntelliJ IDEA
-
数据库配置:
- 数据库名称:
oms
- 数据库表结构:
- 数据库名称:
CREATE TABLE `item` (
`itemid` int NOT NULL AUTO_INCREMENT COMMENT '商品编号',
`itemname` varchar(20) COLLATE utf8mb3_bin NOT NULL COMMENT '商品名',
`itemprice` double unsigned NOT NULL COMMENT '商品价格',
PRIMARY KEY (`itemid`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin
CREATE TABLE `order` (
`orderid` int NOT NULL AUTO_INCREMENT COMMENT '订单编号',
`itemid` int NOT NULL COMMENT '商品编号',
`purchasername` varchar(20) COLLATE utf8mb3_bin NOT NULL DEFAULT '匿名' COMMENT '购买人姓名',
`ordertime` datetime NOT NULL COMMENT '下单时间',
`orderprice` double unsigned NOT NULL COMMENT '订单价格',
`purchasenum` int unsigned NOT NULL COMMENT '购买数量',
PRIMARY KEY (`orderid`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin
- JDBC 配置:
- 在项目的
JDBCUtils
类中设置数据库连接 URL、用户名和密码。
- 在项目的
- 事务管理:
- 所有数据库操作均使用事务处理,保证数据的一致性。
- 防止 SQL 注入:
- 使用
PreparedStatement
处理所有 SQL 查询。
- 使用
- 异常处理:
- 捕获并处理可能的 SQL 异常,确保程序稳定性。
- 资源释放
- 使用
JDBCUtils
类中的release()
释放
- 使用
- 处理冲突
- 当删除的商品在订单中时,会终止删除任务,并返回失败信息和原因
学号 022301121