dao层interface
package com.bigdata.project.dao;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import com.bigdata.project.model.po.SearchResult;
public interface AiStatisticsMapper {
List<SearchResult> countaAccessStatistis(@Param("statistics") Map<String, Object> map);
}
dao层xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.bigdata.project.dao.AiStatisticsMapper" >
<resultMap type="com.bigdata.project.model.po.SearchResult" id="searchResultMap">
<result column="dateFmt" jdbcType="TIMESTAMP" property="dateFmt" />
<result column="countId" jdbcType="INTEGER" property="countId" />
</resultMap>
<!-- 日月年格式显示某时间段访问量统计 -->
<select id="countaAccessStatistis" resultMap="searchResultMap" parameterType="java.util.Map" >
<if test="statistics.groupfmt!= null and statistics.groupfmt == 0">
SELECT DATE_FORMAT(add_time, '%Y%m%d' ) dateFmt , COUNT(id) countId FROM ai_kap_statistics_visitor WHERE p_user_id = #{statistics.puserid} AND status = #{statistics.pstatus} AND add_time BETWEEN #{statistics.begindate} AND #{statistics.enddate} GROUP BY dateFmt
</if>
<if test="statistics.groupfmt!= null and statistics.groupfmt == 1">
SELECT DATE_FORMAT(add_time, '%Y%m' ) dateFmt , COUNT(id) countId FROM ai_kap_statistics_visitor WHERE p_user_id = #{statistics.puserid} AND status = #{statistics.pstatus} AND add_time BETWEEN #{statistics.begindate} AND #{statistics.enddate} GROUP BY dateFmt
</if>
<if test="statistics.groupfmt!= null and statistics.groupfmt == 2">
SELECT DATE_FORMAT(add_time, '%Y' ) dateFmt , COUNT(id) countId FROM ai_kap_statistics_visitor WHERE p_user_id = #{statistics.puserid} AND status = #{statistics.pstatus} AND add_time BETWEEN #{statistics.begindate} AND #{statistics.enddate} GROUP BY dateFmt
</if>
</select>
</mapper>
xml 映射返回别名实体类
/**
*@description 统计查询返回封装类
*@author DXH
*@date 2018年7月20日16:46:47
*/
public class SearchResult implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private String dateFmt;
private String countId;
public String getDateFmt() {
return dateFmt;
}
public void setDateFmt(String dateFmt) {
this.dateFmt = dateFmt;
}
public String getCountId() {
return countId;
}
public void setCountId(String countId) {
this.countId = countId;
}
}