[企业权限管理项目](三)订单操作

建表和项目搭建

订单表信息描述 orders

  • productId描述了订单与产品之间的关系。
  • memberid描述了订单与会员之间的关系。

在这里插入图片描述

PLSQL建表

在这里插入图片描述

实体类实现

	public class Orders {
	 
	    private String id; 
	    private String orderNum;    			
	    private Date orderTime;
	    private String orderTimeStr;
	    private int orderStatus;   
	    private int peopleCount;  
	    private Product product;   
	    private List<Traveller> travellers;    
	    private Member member;   
	    private Integer payType;    
	   private String payTypeStr;  
	   private String orderDesc;  
	       //省略getter/setter 
	   }
  • 该项目为一个旅游产品的后台管理,旅游订单的旅游产品只有一个(区别于电商项目,一个订单会有多个产品)

会员表信息描述member

订单与会员之间是多对一关系,在订单表中创建一个外键来进行关联
在这里插入图片描述

PLSQL建表

在这里插入图片描述

实体类

	public class Member {
	 
	    private String id;  
	    private String name;   
	    private String nickname;   
	    private String phoneNum;    
	    private String email; 
	       //省略getter/setter 
	  }

旅客表信息描述 traveller

在这里插入图片描述

OLSQL建表

CREATE TABLE traveller(    id varchar2(32) default SYS_GUID() PRIMARY KEY,    
NAME VARCHAR2(20),   
sex VARCHAR2(20), 
phoneNum VARCHAR2(20),  
credentialsType INT,   
credentialsNum VARCHAR2(50),  
travellerType INT ) 

实体类实现

public class Traveller { 
   private String id;    
   private String name;    
   private String sex;    
   private String phoneNum;    
   private Integer credentialsType;    
   private String credentialsTypeStr;    
   private String credentialsNum;    
   private Integer travellerType;    
   private String travellerTypeStr;   
    //省略getter/setter 
    }

中间表查询

旅客与订单之间是多对多关系,所以我们需要一张中间表(order_traveller)来描述
在这里插入图片描述

中间表建表

CREATE TABLE order_traveller(    orderId varchar2(32),    
travellerId varchar2(32),    
PRIMARY KEY (orderId,travellerId),    
FOREIGN KEY (orderId) REFERENCES orders(id),    
FOREIGN KEY (travellerId) REFERENCES traveller(id) 
)

订单操作Controller Service Dao实现

  • IOrderService

在这里插入图片描述
OrdersServiceImpl
在这里插入图片描述

  • IOrdersDao
    在这里插入图片描述

  • OrdersController在这里插入图片描述

订单查询

  • 入口在侧边栏 /基础数据/订单管理
  • 订单查询页面 order-list.jsp
    在这里插入图片描述
    订单查询思路
    在这里插入图片描述
  • 存在关联查询,要获得订单信息和产品信息
  • 查询的返回结果为list< orders>,通过orders关联产品信息,controller返回orders-list.jsp

思考

前后端不分离的项目,前后端代码交织在一起虽然避免了跨域的问题,但是代码内嵌严重,业务逻辑一旦复杂起来代码量大且难以阅读
以订单查询为例,在aside.jsp中
在这里插入图片描述
点击订单管理,发起/orders/findAll.do?page=1&pageSize=3,则Controller处理该请求
在这里插入图片描述

Dao分析

public interface IOrdersDao {

    @Select("select * from orders")
    @Results({
            @Result(id=true,property = "id",column = "id"),
            @Result(property = "orderNum",column = "orderNum"),
            @Result(property = "orderTime",column = "orderTime"),
            @Result(property = "orderStatus",column = "orderStatus"),
            @Result(property = "peopleCount",column = "peopleCount"),
            @Result(property = "peopleCount",column = "peopleCount"),
            @Result(property = "payType",column = "payType"),
            @Result(pro
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值