十六、订单模块功能实现
订单模块
数据库表创建


订单实体类创建
在com.bang.store.pojo包下新建对应的实体类Order和OrderItem
1 | package com.bang.store.pojo; |
1 | package com.bang.store.pojo; |
持久层
规划需要执行的SQL语句
创建订单的过程本质是一种数据插入的操作,即insert语句
1.数据插入订单表t_order中
1 | insert into t_order(uid,recv_name,recv_phone,recv_province,recv_city,recv_area |
2.数据插入订单项表t_order_item
1 | insert into t_order_item(oid,pid,title,image,price,num,created_user,created_time,modified_user,modified_time) values(?,?,?,?,?,?,?,?,?,?); |
接口和抽象方法
创建订单的持久层接口OrderMapper,在其中编写对应的抽象方法
1 | package com.bang.store.mapper; |
SQL映射文件配置
新建映射文件OrderMapper.xml,在其中编写订单相关的SQL映射语句
1 |
|
单元测试
1 | package com.bang.store.mapper; |
业务层
规划异常
插入语句异常类,InsertException在前面的功能模块中已经定义过了
接口和抽象方法
1.用户收货地址数据,需要依赖于前端页面传递过来的aid,所以首先对于IAddressService接口新增业务方法getByAid
1 | /** |
2.创建订单业务层接口IOrderService,在其中申明对应的抽象方法
1 | /** |
抽象方法实现
1.在AddressServiceImpl中编写getByAid抽象方法的实现
1 | package com.bang.store.service; |
2.创建IOrderService的实现类OrderServiceImpl
1 | package com.bang.store.service.impl; |
单元测试
1 |
|
1 | package com.bang.store.service; |
控制层
异常处理
业务层无新增异常,无需新增异常处理逻辑
设计请求
1 | request url: /order/create |
处理请求
在com.bang.store.controller包下新建订单对应的控制层类OrderController,在其中编写对应处理请求方法
1 | package com.bang.store.controller; |
前端页面
在订单确认页面OrderConfirm.html页面点击结算按钮,向后端发送创建订单请求
1 | $("#btn-create-order").click(function () { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Bang's Blog!





