day02_springboot综合案例
订单操作
查询所有订单
查询所有订单流程
查询订单,要把订单对应的产品也要查出来
Orders实体类
@Data public class Orders { private String id; private String orderNum; @DateTimeFormat(pattern="yyyy-MM-dd HH:mm") private Date orderTime; private String orderTimeStr; private int orderStatus; private String orderStatusStr; private int peopleCount; private Product product; private List<Traveller> travellers; private Member member; private Integer payType; private String payTypeStr; private String orderDesc; //用于添加订单时,添加产品,会员 private Integer productId; private Integer memberId; public String getOrderTimeStr() { // 对日期格式化 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); if (null != orderTime) { orderTimeStr = dateFormat.format(orderTime); } return orderTimeStr; } public String getPayTypeStr() { if (payType == 0){ payTypeStr = "支付宝"; } else if(payType == 1){ payTypeStr = "微信"; }else if(payType == 2){ payTypeStr = "其他"; } return payTypeStr; } public String getOrderStatusStr() { if (orderStatus == 0){ orderStatusStr = "未支付"; } else if(orderStatus == 1){ orderStatusStr = "已支付"; } return orderStatusStr; } }
编写OrdersMapper
public interface OrderMapper { /** * 分页查询所有订单 */ List<Orders> findAll();
编写OrdersService
public interface OrderService { /** * 分页查询所有订单 * @param page * @param size * @return */ List<Orders> findAll(Integer page, Integer size); }
@Service public class OrderServiceImpl implements OrderService { @Autowired private OrderMapper orderMapper; /** * 查询订单 * @return */ @Override public List<Orders> findAll() { return this.orderMapper.findAll(); } }
编写OrdersController
@Controller @RequestMapping("order") public class OrderController { @Autowired private OrderService orderService; /** * 查询所有订单 */ @RequestMapping("findAll") public String findAll( Model model , @RequestParam(value = "page",defaultValue = "1") Integer page, @RequestParam(value = "size",defaultValue = "5") Integer size){ PageHelper.startPage(page,size); List<Orders> orders = this.orderService.findAll(); PageInfo pageInfo = new PageInfo(orders); model.addAttribute("pageInfo",pageInfo); return "order-list"; } }
编写OrdersMapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cn.yanqi.ssm.mapper.OrderMapper"> <!--查询订单,查询订单对应的产品--> <resultMap id="orders" type="Orders" autoMapping="true"> <id column="id" property="id" /> <association property="product" javaType="Product" autoMapping="true"> <id property="id" column="id"/> </association> </resultMap> <select id="findAll" resultMap="orders"> SELECT * FROM orders o , product p WHERE o.productId = p.id </select> </mapper>
测试
订单详情
查询订单详情流程
查看订单详情,需要查看 产品 会员 旅客
-- sql 分析 SELECT o.orderNum as "订单号", p.productName as "路线", m.nickName as "下单人", t.name as "游客" FROM orders o LEFT JOIN product p ON o.productId = p.id LEFT JOIN member m ON o.memberId = m.id LEFT JOIN order_traveller ot ON ot.orderId = o.id LEFT JOIN traveller t ON ot.travellerId = t.id WHERE o.id = 5
Member实体类
package cn.yanqi.ssm.pojo; import lombok.Data; @Data public class Member { private String id; private String mname; private String nickname; private String mphoneNum; private String email; }
Traveller实体类
package cn.yanqi.ssm.pojo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data 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; public String getCredentialsTypeStr() { if(credentialsType != null){ // 证件类型 0:身份证 1:护照 2:军官证 if (credentialsType == 0) { credentialsTypeStr = "身份证"; } else if (credentialsType == 1) { credentialsTypeStr = "护照"; } else if (credentialsType == 2) { credentialsTypeStr = "军官证"; } } return credentialsTypeStr; } public String getTravellerTypeStr() { if( travellerType != null){ // 证件类型 0:成人 1:儿童 if (travellerType == 0) { travellerTypeStr = "成人"; } else if (travellerType == 1) { travellerTypeStr = "儿童"; } } return travellerTypeStr; } }
day02_springboot综合案例(二)https://developer.aliyun.com/article/1433622