yuqixian
小小程序缘
采纳率19%
2019-02-21 11:24

Mybatis如何查询不同数据对应的记录数并返回,在线等,急

图片说明

<select id="alarmTypeNumber" parameterType="string" resultType="">
    select 
        alarm_type,count(alarm_type) 
    from 
        alarm_infor 
    where 
        path like '${value}%' 
    group by 
        alarm_type
</select>

    标签语句知道,但是不知道如何返回和后台如何接受
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • weixin_38795324 weixin_38795324 2年前
    List<Map> alarmTypeNumber(@Param("value") String value);
    
    <select id="alarmTypeNumber" parameterType="java.lang.String" resultType="java.util.Map">
        select
            alarm_type,count(alarm_type) con
        from
            alarm_infor
        where
            path like '${value}%'
        group by
            alarm_type
    </select>
    
    点赞 评论 复制链接分享
  • zhang673101454 飞er 2年前

    简单的直接返回map即可,Dao 用List 接受

    点赞 评论 复制链接分享
  • jwyspnys1314 张晓鱼 2年前
    1. 修改SQL如下,主要是为count(alarm_type)字段设置别名
    <select id="alarmTypeNumber" parameterType="string" resultType="">
        select alarm_type, count(alarm_type) as alarm_type_count
        from alarm_infor
        where path like '${value}%'
        group by alarm_type
    </select>
    
    1. 第二步定义model类
    /**
     * @author 张玉尧(matrix.zhang@ximalaya.com)
     * @version $Id: AlarmTypeCountDO.java, v 0.1 2019年2月21日 上午11:35:35 张玉尧(matrix.zhang@ximalaya.com) Exp $
     */
    public class AlarmTypeCountDO {
    
        private String alarmType;
        private Long alarmTypeCount;
    
        public String getAlarmType() {
            return alarmType;
        }
    
        public void setAlarmType(String alarmType) {
            this.alarmType = alarmType;
        }
    
        public Long getAlarmTypeCount() {
            return alarmTypeCount;
        }
    
        public void setAlarmTypeCount(Long alarmTypeCount) {
            this.alarmTypeCount = alarmTypeCount;
        }
    }
    
    1. 修改SQL如下,将resultType设置为AlarmTypeCountDO类的全限定名
    <select id="alarmTypeNumber" parameterType="string" resultType="包名.AlarmTypeCountDO">
        select alarm_type, count(alarm_type) as alarm_type_count
        from alarm_infor
        where path like '${value}%'
        group by alarm_type
    </select>
    
    点赞 评论 复制链接分享
  • tonghangli SKS_CODER 2年前

    可以自定义一个对象,通过自定义resultMap来接受这两个字段

    点赞 评论 复制链接分享

相关推荐