1. 查询的数据对象

@Data
public class JdOrder implements Serializable{
    private Long orderId;

private Long finishTime;

private Integer orderEmt;

private Long orderTime;

private Long parentId;

private String payMonth;

private Integer plus;

private Long popId;

private Long unionId;

private String ext1;

private Integer validCode;

private String hasMore;
    //预估佣金
    private Double estimateFee;
    //商户名称
    private String merchantName;
    //顾客号码
    private String  customerId;

**//返回数据要包含的list**
    private List<JdSkuList> jdSkuLists;

}

2.返回数据中被包含的list对象

@Data
public class JdSkuList extends JdSkuListKey implements Serializable{
    private Double actualCosPrice;

private Double actualFee;

private Double commissionRate;

private Double estimateCosPrice;

private Double estimateFee;

private Double finalRate;

private Long cid1;

private Long frozenSkuNum;

private String pid;

private Long positionId;

private Double price;

private Long cid2;

private Long siteId;

private String skuName;

private Long skuNum;

private Long skuReturnNum;

private Double subSideRate;

private Double subsidyRate;

private Long cid3;

private String unionAlias;

private String unionTag;

private Integer unionTrafficGroup;

private Integer validCode;

private String subUnionId;

private Integer traceType;

private Integer payMonth;

private Long popId;

private String ext1;

private String merchantName;
}

3.resultMap的写法

<resultMap id="BaseResultMap" type="com.luer.JD.bean.JdOrder">
        <id column="order_id" property="orderId" jdbcType="BIGINT"/>
        <result column="finish_time" property="finishTime" jdbcType="BIGINT"/>
        <result column="order_emt" property="orderEmt" jdbcType="INTEGER"/>
        <result column="order_time" property="orderTime" jdbcType="BIGINT"/>
        <result column="parent_id" property="parentId" jdbcType="BIGINT"/>
        <result column="pay_month" property="payMonth" jdbcType="VARCHAR"/>
        <result column="plus" property="plus" jdbcType="INTEGER"/>
        <result column="pop_id" property="popId" jdbcType="BIGINT"/>
        <result column="union_id" property="unionId" jdbcType="BIGINT"/>
        <result column="ext1" property="ext1" jdbcType="VARCHAR"/>
        <result column="valid_code" property="validCode" jdbcType="INTEGER"/>
        <result column="has_more" property="hasMore" jdbcType="VARCHAR"/>

//property="jdSkuLists"   ,要与第一步对象中定义的list属性名称一样
        <collection property="jdSkuLists" resultMap="JdSkuListResultMap"/>

</resultMap>
    
   
    <resultMap id="JdSkuListResultMap" type="com.luer.JD.bean.JdSkuList">
        <id column="order_id" property="orderId" jdbcType="BIGINT"/>
        <id column="sku_id" property="skuId" jdbcType="BIGINT"/>
        <result column="actual_cos_price" property="actualCosPrice" jdbcType="DOUBLE"/>
        <result column="actual_fee" property="actualFee" jdbcType="DOUBLE"/>
        <result column="commission_rate" property="commissionRate" jdbcType="DOUBLE"/>
        <result column="estimate_cos_price" property="estimateCosPrice" jdbcType="DOUBLE"/>
        <result column="estimate_fee" property="estimateFee" jdbcType="DOUBLE"/>
        <result column="final_rate" property="finalRate" jdbcType="DOUBLE"/>
        <result column="cid1" property="cid1" jdbcType="BIGINT"/>
        <result column="frozen_sku_num" property="frozenSkuNum" jdbcType="BIGINT"/>
        <result column="pid" property="pid" jdbcType="VARCHAR"/>
        <result column="position_id" property="positionId" jdbcType="BIGINT"/>
        <result column="price" property="price" jdbcType="DOUBLE"/>
        <result column="cid2" property="cid2" jdbcType="BIGINT"/>
        <result column="site_id" property="siteId" jdbcType="BIGINT"/>
        <result column="sku_name" property="skuName" jdbcType="VARCHAR"/>
        <result column="sku_num" property="skuNum" jdbcType="BIGINT"/>
        <result column="sku_return_num" property="skuReturnNum" jdbcType="BIGINT"/>
        <result column="sub_side_rate" property="subSideRate" jdbcType="DOUBLE"/>
        <result column="subsidy_rate" property="subsidyRate" jdbcType="DOUBLE"/>
        <result column="cid3" property="cid3" jdbcType="BIGINT"/>
        <result column="union_alias" property="unionAlias" jdbcType="VARCHAR"/>
        <result column="union_tag" property="unionTag" jdbcType="VARCHAR"/>
        <result column="union_traffic_group" property="unionTrafficGroup" jdbcType="INTEGER"/>
        <result column="valid_code" property="validCode" jdbcType="INTEGER"/>
        <result column="sub_union_id" property="subUnionId" jdbcType="VARCHAR"/>
        <result column="trace_type" property="traceType" jdbcType="INTEGER"/>
        <result column="pay_month" property="payMonth" jdbcType="INTEGER"/>
        <result column="pop_id" property="popId" jdbcType="BIGINT"/>
        <result column="ext1" property="ext1" jdbcType="VARCHAR"/>
    </resultMap>

4.定义一个JdSkuList_Column_List,方便多个查询sql中引入不必重复写

<sql id="JdSkuList_Column_List" >
        jsl.order_id, jsl.sku_id, jsl.actual_cos_price, jsl.actual_fee, jsl.commission_rate, jsl.estimate_cos_price,
        jsl.estimate_fee, jsl.final_rate, jsl.cid1, jsl.frozen_sku_num, jsl.pid, jsl.position_id, jsl.price, jsl.cid2, jsl.site_id,
        jsl.sku_name, jsl.sku_num, jsl.sku_return_num, jsl.sub_side_rate, jsl.subsidy_rate, jsl.cid3, jsl.union_alias,
        jsl.union_tag, jsl.union_traffic_group, jsl.valid_code, jsl.sub_union_id, jsl.trace_type, jsl.pay_month,
        jsl.pop_id, jsl.ext1
    </sql>

5.SQL的写法,查询所有的JdOrder ,并包含订单详情JdSkuList的对象集合,引入前面已经定义好的JdSkuList_Column_List

<select id="selectOrder" resultMap="BaseResultMap">
      
        SELECT j.*,<include   refid="JdSkuList_Column_List"/> FROM jd_order j
         left join jd_sku_list jsl on jsl.order_id=j.order_id
        order by j.order_time desc
    </select>

6.SQL也可以全部写出,个人喜欢引入的方法,看着清爽,节约资源

<select id="selectOrder" resultMap="BaseResultMap">
        SELECT j.*, 
        jsl.order_id, jsl.sku_id, jsl.actual_cos_price, jsl.actual_fee, jsl.commission_rate, jsl.estimate_cos_price,
        jsl.estimate_fee, jsl.final_rate, jsl.cid1, jsl.frozen_sku_num, jsl.pid, jsl.position_id, jsl.price, jsl.cid2, jsl.site_id,
        jsl.sku_name, jsl.sku_num, jsl.sku_return_num, jsl.sub_side_rate, jsl.subsidy_rate, jsl.cid3, jsl.union_alias,
        jsl.union_tag, jsl.union_traffic_group, jsl.valid_code, jsl.sub_union_id, jsl.trace_type, jsl.pay_month,
        jsl.pop_id, jsl.ext1 
        FROM jd_order j
        left join jd_sku_list jsl on jsl.order_id=j.order_id
        order by j.order_time desc
    </select>

7.通过postman测试发送请求,查询出两条结果,第一条包含jdSkuLists中含有三条数据,第二条包含一条数据,测试成功

{
    "code": 200,
    "msg": "success",
    "data": [
        {
            "orderId": 86475668988,
            "finishTime": 1556167285000,
            "orderEmt": 2,
            "orderTime": 1555661964000,
            "parentId": 0,
            "payMonth": "0",
            "plus": 0,
            "popId": 10084045,
            "unionId": 1001466274,
            "ext1": "",
            "validCode": 17,
            "hasMore": "false",
            "estimateFee": null,
            "merchantName": null,
            "customerId": null,
            "jdSkuLists": [
                {
                    "orderId": 86475668988,
                    "skuId": 44132717554,
                    "actualCosPrice": 0,
                    "actualFee": 0,
                    "commissionRate": 5,
                    "estimateCosPrice": 0,
                    "estimateFee": 0,
                    "finalRate": 90,
                    "cid1": 6144,
                    "frozenSkuNum": 0,
                    "pid": "",
                    "positionId": 0,
                    "price": 0,
                    "cid2": 12042,
                    "siteId": 55000,
                    "skuName": "珠宝盒 赠品",
                    "skuNum": 1,
                    "skuReturnNum": 0,
                    "subSideRate": 90,
                    "subsidyRate": 0,
                    "cid3": 12055,
                    "unionAlias": "",
                    "unionTag": "00000000",
                    "unionTrafficGroup": 4,
                    "validCode": 17,
                    "subUnionId": "luertest",
                    "traceType": 2,
                    "payMonth": 0,
                    "popId": 10084045,
                    "ext1": "",
                    "merchantName": null
                },
                {
                    "orderId": 86475668988,
                    "skuId": 40043797202,
                    "actualCosPrice": 29.9,
                    "actualFee": 5.38,
                    "commissionRate": 20,
                    "estimateCosPrice": 29.9,
                    "estimateFee": 5.38,
                    "finalRate": 90,
                    "cid1": 6144,
                    "frozenSkuNum": 0,
                    "pid": "",
                    "positionId": 0,
                    "price": 129.9,
                    "cid2": 12042,
                    "siteId": 55000,
                    "skuName": "千楼珠宝 淡水珍珠耳钉 紫色 镜面光 高品质 8-9mm馒头珍珠耳环 S925银 一对装 ",
                    "skuNum": 1,
                    "skuReturnNum": 0,
                    "subSideRate": 90,
                    "subsidyRate": 0,
                    "cid3": 12055,
                    "unionAlias": "",
                    "unionTag": "00000000",
                    "unionTrafficGroup": 4,
                    "validCode": 17,
                    "subUnionId": "luertest",
                    "traceType": 2,
                    "payMonth": 0,
                    "popId": 10084045,
                    "ext1": "",
                    "merchantName": null
                },
                {
                    "orderId": 86475668988,
                    "skuId": 44132198245,
                    "actualCosPrice": 0,
                    "actualFee": 0,
                    "commissionRate": 5,
                    "estimateCosPrice": 0,
                    "estimateFee": 0,
                    "finalRate": 90,
                    "cid1": 6144,
                    "frozenSkuNum": 0,
                    "pid": "",
                    "positionId": 0,
                    "price": 0,
                    "cid2": 12042,
                    "siteId": 55000,
                    "skuName": "硅胶耳堵 配件 1对 限量赠送 赠完为止",
                    "skuNum": 1,
                    "skuReturnNum": 0,
                    "subSideRate": 90,
                    "subsidyRate": 0,
                    "cid3": 12054,
                    "unionAlias": "",
                    "unionTag": "00000000",
                    "unionTrafficGroup": 4,
                    "validCode": 17,
                    "subUnionId": "luertest",
                    "traceType": 2,
                    "payMonth": 0,
                    "popId": 10084045,
                    "ext1": "",
                    "merchantName": null
                }
            ]
        },
        {
            "orderId": 85562762227,
            "finishTime": 1555215459000,
            "orderEmt": 2,
            "orderTime": 1554715488000,
            "parentId": 0,
            "payMonth": "0",
            "plus": 0,
            "popId": 690686,
            "unionId": 1001466274,
            "ext1": "",
            "validCode": 17,
            "hasMore": "false",
            "estimateFee": null,
            "merchantName": null,
            "customerId": null,
            "jdSkuLists": [
                {
                    "orderId": 85562762227,
                    "skuId": 43659908490,
                    "actualCosPrice": 24.8,
                    "actualFee": 1.12,
                    "commissionRate": 5,
                    "estimateCosPrice": 24.8,
                    "estimateFee": 1.12,
                    "finalRate": 90,
                    "cid1": 1320,
                    "frozenSkuNum": 0,
                    "pid": "",
                    "positionId": 0,
                    "price": 29.8,
                    "cid2": 5019,
                    "siteId": 0,
                    "skuName": "芗园黑糖红枣桂圆茶 便携独立包装台湾姨妈红枣桂圆茶姜汤姜母茶120g",
                    "skuNum": 1,
                    "skuReturnNum": 0,
                    "subSideRate": 90,
                    "subsidyRate": 0,
                    "cid3": 5023,
                    "unionAlias": "",
                    "unionTag": "00000000",
                    "unionTrafficGroup": 5,
                    "validCode": 17,
                    "subUnionId": "luertest",
                    "traceType": 2,
                    "payMonth": 0,
                    "popId": 690686,
                    "ext1": "",
                    "merchantName": null
                }
            ]
        }
    ],
    "time": 1558491931288
}

mybatis Sql查询 返回对象或者list数据中包含一个对象的list集合相关推荐

  1. sql查询返回xml数据之应用【转载】

    sql查询返回xml数据之应用[转载] 今天查看邮件,看到一标题Using the FOR XML Clause to Return Query Results as XML,点进去看了看,以前也是知 ...

  2. JdbcTemplate(操作数据库-查询返回对象、查询返回集合)

    JdbcTemplate(操作数据库-查询返回对象.查询返回集合) 1.创建数据库 数据库中有三条记录,数据库名为user_db,数据库表为t_book 2.新建实体类: Book类中的每一个属性对应 ...

  3. sql查询某字段重复的数据

    sql查询某字段重复的数据 最近老是遇到添加新的约束问题,其中就有要求数据不能重复,那么以前哪些测试数据就不方便改了,但是又不能删除,所以为了防止重复,我们只能查询出来一个个改了,那么查询的Sql语句 ...

  4. 基于简单sql语句的sql解析原理及在大数据中的应用

    基于简单sql语句的sql解析原理及在大数据中的应用 李万鸿 老百姓呼吁打土豪分田地.共同富裕,总有一天会实现. 全面了解你所不知道的外星人和宇宙真想:http://pan.baidu.com/s/1 ...

  5. 编写一个 SQL 查询,来删除 Person表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。

    题目 编写一个 SQL 查询,来删除 Person表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小的那个. Id Email 1 john@example.com 2 bob@example.c ...

  6. 编写一个 SQL 查询,来删除 Person表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。

    题目 编写一个 SQL 查询,来删除 Person表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个. +----+------------------+ | Id | Email | + ...

  7. php mysql 字段不为空_Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null?...

    Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null? 先上两种实现方式的实例: $querys["house_type_image" ...

  8. SQL查询EAS工作流任务节点信息(包含审批信息)

    SQL查询EAS工作流任务节点信息(包含审批信息) 最近有个需求,需要查出EAS工作流所有节点任务信息,网上找了好久没有找到完整SQL,综合后特意记录一下. 需要查哪个表的审批记录只需把 BizObj ...

  9. ajax异步获取右侧html,Ajax异步获取html数据中包含js方法无效的解决方法

    Ajax异步获取html数据中包含js方法无效的解决方法 页面上使用js写了一个获取后台数据的方法 function data() { var tab = $("#dic") $. ...

最新文章

  1. Premiere制作VCD视频几个关键设置
  2. 传指针与指针引用的区别
  3. Linux Server - NAT
  4. 中国水处理行业深度监测及投资发展可行性分析报告2022-2027年新版
  5. 迷宫(AHOI2016初中组T3)
  6. Python爬虫解析网页的4种方式 值得收藏
  7. ELMo代码详解(一):数据准备
  8. JS函数生成器,function* () {}
  9. 谷歌升级AutoML,可用于大规模图像分类和物体检测
  10. 做数据可视化有什么好
  11. 计算机c盘容易满怎么办,C盘快满了怎么办 如何清理C盘垃圾?
  12. 如何限定apt-get使用IPv4或IPv6协议下载
  13. 中国计算机学会推荐国际学术会议和期刊目录——A、B、C类期刊会议分级信息
  14. linux关闭防火墙后台 启动文件,centos——部署springboot项目(含启动脚本编写、开机自启脚本编写、守护进程开机二合一脚本编写)...
  15. 记测试双十一秒杀活动的坎坷历程
  16. Justinmind使用教程(3)——管理原型
  17. 什么是商业智能 (BI) 仪表板?
  18. Unity Obi Cloth 教學
  19. DVWA的安装与配置教程+文件
  20. 思博伦TestCenter Virtual上线AWS Marketplace, 可简化公有云和混合云测试

热门文章

  1. OpenCV参考手册之Mat类详解(三)
  2. mac下Xshell和Xftp | Royal TSX
  3. 中国不是不能开发出自己的浏览器,而是没必要
  4. SDU程序设计思维实践题目总结
  5. 数据库如何转身云原生数据库
  6. win7 安装MySQL 5.7.
  7. 转:我,喜,欢,你,很久了……
  8. 内外兼修 华润啤酒的“有为”哲学
  9. wilcoxon rank sum test R代码
  10. springmvc集成shiro后,session、request姓汪还是姓蒋 ?