您的位置:首页 > 其它

Mybatis resultMap灵活用法(使用子查询)

2019-03-01 16:44 281 查看

背景

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

数据表 t_广州

唯一标识id 地点place 流量counts 日期date
1 动物园 100 ‘2018-11-11’
2 动物园 200 ‘2018-11-12’
3 植物园 100 ‘2018-11-11’

需求

统计每个地点的总流量,和每天的流量
结果示意结构如下:

{
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文件如下:

<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐