day02_springboot综合案例(二)https://developer.aliyun.com/article/1433622
编写Mapper
@Repository public interface TravellerMapper { /** * 查询游客 * @return */ List<Traveller> findAll(); }
public interface MemberMapper { /** * 查询所有会员 * @return */ List<Member> findAll(); }
编写Mapper.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.mapper.TravellerMapper"> <select id="findAll" resultType="Traveller"> select * from traveller </select> </mapper>
<?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.mapper.MemberMapper"> <select id="findAll" resultType="Member"> select * from member </select> </mapper>
新增订单
编写OrderController
/** * @Author: yanqi * @Date: 9:20 * @Desc: 订单模块 */ @Controller @RequestMapping("order") public class OrderController { @Autowired private MemberService memberService; @Autowired private ProductService productService; @Autowired private OrderService orderService; @Autowired private TravellerService travellerService; @Autowired private OrderAndTravellerService orderAndTravellerService; /** * 新增订单 * @param orders * @return */ @PostMapping("save") public String save(Orders orders){ //添加订单信息 this.orderService.save(orders); //根据添加订单orderNum 查询订单id select id from orders where orderNum = #{orderNum} Integer OrderId = orderService.findByOrderNum(orders.getOrderNum()); //中间表order_traveller 添加 参数1:订单id 参数2:旅客ids this.orderAndTravellerService.add(OrderId,orders.getTravellerId()); return "redirect:findAll"; } }
编写Service
@Service public class OrderServiceImpl implements OrderService { @Autowired public OrderMapper orderMapper; /** * 新增订单 * @param orders */ @Override public void save(Orders orders) { this.orderMapper.save(orders); } }
@Service public class OrderServiceImpl implements OrderService { @Autowired public OrderMapper orderMapper; /** * 根据添加orderNum查询订单id * @param orderNum * @return */ @Override public Integer findByOrderNum(String orderNum) { return this.orderMapper.findByOrderNum(orderNum); } }
/** * @Author: yanqi * @Date: 14:41 * @Desc: 中间表order_traveller 添加 参数1:订单id 参数2:旅客ids */ @Service public class OrderAndTravellerServiceImpl implements OrderAndTravellerService { @Autowired private OrderAndTravellerMapper orderAndTravellerMapper; //中间表order_traveller 添加 参数1:订单id 参数2:旅客ids @Override public void add(Integer orderId, List<Integer> travellerIds) { this.orderAndTravellerMapper.add(orderId,travellerIds); } }
编写Mapper
@Repository public interface OrderMapper { /** * 新增订单 * @param orders */ void save(Orders orders); /** * 根据添加orderNum查询订单id * @param orderNum * @return */ Integer findByOrderNum(String orderNum); }
@Repository public interface OrderAndTravellerMapper { //中间表order_traveller 添加 参数1:订单id 参数2:旅客ids void add(@Param("orderId") Integer orderId,@Param("travellerId") List<Integer> travellerId ); }
编写Mapper.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.mapper.OrderMapper"> <!--根据添加orderNum查询订单id--> <select id="findByOrderNum" resultType="integer"> select id from orders where orderNum = #{orderNum} </select> <!--新增订单--> <insert id="save"> insert into orders( orderNum, orderTime, peopleCount, orderDesc, payType, orderStatus, productId, memberId) values(#{orderNum}, #{orderTime}, #{peopleCount}, #{orderDesc}, #{payType}, #{orderStatus}, #{productId}, #{memberId}) </insert> </mapper>
<?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.mapper.OrderAndTravellerMapper"> <insert id="add"> INSERT INTO order_traveller (orderId, travellerId) VALUES <foreach collection="travellerId" item="travellerId" separator=","> (#{orderId}, #{travellerId}) </foreach> </insert> </mapper>
=“save”> insert into orders( orderNum, orderTime, peopleCount, orderDesc, payType, orderStatus, productId, memberId) values(#{orderNum}, #{orderTime}, #{peopleCount}, #{orderDesc}, #{payType}, #{orderStatus}, #{productId}, #{memberId})
```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.mapper.OrderAndTravellerMapper"> <insert id="add"> INSERT INTO order_traveller (orderId, travellerId) VALUES <foreach collection="travellerId" item="travellerId" separator=","> (#{orderId}, #{travellerId}) </foreach> </insert> </mapper>