zoukankan      html  css  js  c++  java
  • MyBatis通过注解实现映射中的嵌套语句和嵌套结果

    案例描述:查看订单或购物车订单信息的同时查询出该订单中所有书籍的信息。

    一、嵌套语句

    @Select("select* from shopcart where shopcartid = #{id}")
    @Results({ @Result(id = true, column = "shopcartid", property = "shopCartId"),
            @Result(column = "bookid", property = "bookId"), @Result(column = "amount", property = "amount"),
            @Result(column = "price", property = "price"), @Result(column = "status", property = "status"),
            @Result(column = "bookid", property = "book", one = @One(select = "com.yh.mybatis.mapper.BookMapper.findBookInfoById")) })
    ShopCart findShopCartInfoById(int id);

    二、嵌套结果

    // 查找刚刚添加的订单信息
    @Select("select orderinfo.*,book.bookname,book.imgurl,book.introduction,book.packstyle,book.sellerid,book.price bookprice from orderinfo,book where orderinfo.bookid = book.bookid and orderid like '${orderId}%'")
    @Results({ @Result(id = true, column = "identityid", property = "identityId"),
            @Result(column = "orderid", property = "orderId"), @Result(column = "buyerid", property = "buyerId"),
            @Result(column = "bookid", property = "bookId"), @Result(column = "amount", property = "amount"),
            @Result(column = "orderdate", property = "orderDate"), @Result(column = "express", property = "express"),
            @Result(column = "payment", property = "payment"), @Result(column = "addressid", property = "addressId"),
            @Result(column = "price", property = "price"), @Result(column = "message", property = "message"),
            @Result(column = "status", property = "status"),
            // 自定义类成员变量的属性
            @Result(column = "bookname", property = "book.bookName"),
            @Result(column = "sellerid", property = "book.sellerId"),
            @Result(column = "bookprice", property = "book.price"),
            @Result(column = "imgurl", property = "book.imgUrl"),
            @Result(column = "introduction", property = "book.introduction"),
            @Result(column = "packstyle", property = "book.packStyle") })
    List<Order> findLastOrder(@Param("orderId") String orderId);
  • 相关阅读:
    课堂作业
    Visual Studio Code for mac 设置中文
    git分支与主干合并操作
    git常用命令
    js事件冒泡和事件委托
    JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?
    常见的解决浏览器兼容性问题的方式有哪些
    vue问题大全
    浅析前端工程化
    前端中常见的数据结构小结
  • 原文地址:https://www.cnblogs.com/YeHuan/p/11775761.html
Copyright © 2011-2022 走看看