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>
    ````

  • 相关阅读:
    静态成员变量
    设计模式:空对象模式(Null Object Pattern)
    超详细LAMP环境搭建
    WCF 学习笔记之双工实现
    new和instanceof的内部机制
    C#开源磁盘/内存缓存引擎
    C++设计模式-Flyweight享元模式
    Javascript内存泄漏
    流量计数器
    运用Mono.Cecil 反射读取.NET程序集元数据
  • 原文地址:https://www.cnblogs.com/winniejohn/p/10456383.html
Copyright © 2011-2022 走看看