zoukankan      html  css  js  c++  java
  • Mybatis resultMap灵活用法(使用子查询)

    ### 背景
    查询广州每个景点的总流量,和每个景点每日流量

    #### 数据表 t_广州
    |唯一标识id|地点place|流量counts|日期date|
    |:---:|:---:|:---:|:---:|
    |1|动物园|100|'2018-11-11'|
    |2|动物园|200|'2018-11-12'|
    |3|植物园|100|'2018-11-11'|

    ### 需求
    统计每个地点的总流量,和每天的流量
    结果示意结构如下:
    ````json
    {
    place: '动物园',
    allCounts: 300,
    perDay : [
    {
    date: '2018-11-11',
    counts: 100
    },
    {
    date: '2018-11-12',
    counts: 200
    }
    ]
    },
    {
    place: '植物园',
    allCounts: 100,
    perDay : [
    {
    date: '2018-11-11',
    counts: 100
    }
    ]
    },
    ````
    xml文件如下:
    ````xml
    <select id="pageResultMapSelect" parameterType="java.util.Map" resultMap="pageResultMap">
    select date,counts from t_广州 where place=#{place} group by date
    </select>
    <resultMap id="pageResultMap" resultType="java.util.Map">
    <result column="place" property="place" />
    <result column="allCounts" property="allCounts" />
    <collection property="perDay" javaType="java.util.List" ofType="java.util.Map" column="(place=place)" select="pageResultMapSelect"></collection>
    </resultMap>
    <select id="page" parameterType="java.util.Map" resultMap="pageResultMap">
    select place,sum(counts) as allCounts from t_广州 group by place
    </select>
    ````

  • 相关阅读:
    Java引用类型转换
    SWFUpload多文件上传使用指南
    SpringMVC中与Spring相关的@注解
    三层——c#版
    初识三层
    vb.net 总结
    设计模式总结
    设计模式系列——装饰模式
    设计模式系列——策略模式
    设计模式系列——简单工厂模式
  • 原文地址:https://www.cnblogs.com/winniejohn/p/10456383.html
Copyright © 2011-2022 走看看