Mybatis in 查询

1.先创建一个传参的工具类

import java.util.HashMap;
/**
 * 
 * ClassName: DataMap 
 * @Description: 封装Map,
 * @date 2018-04-02
 */
public class DataMap extends HashMap<String, Object> {
    private static final long serialVersionUID = 1L;
    
    public static DataMap getInstance(){
        return new DataMap();
    }
    
    public DataMap put(String key, Object value) {        
            super.put(key ,value);        
            return this;        
    }

    public Object get(Object key) {
            return super.get((String)key);
    }
}

2.mapping.xml

<!--获取所有的访客量,可以按照时间查询-->
    <select id="getAllUvCountByUrl"  parameterType="io.renren.common.utils.DataMap" resultType="java.lang.Integer">
        SELECT COUNT(*)num FROM (select count(*)num from `tb_brower_data` where  MonitorTaskCode in
        <foreach collection="url" index="index" item="item" open="(" separator="," close=")">
            #{item}
        </foreach>
        <if test="startDate != null and endDate != null">
            AND createTime BETWEEN #{startDate} AND #{endDate}
        </if>
        GROUP BY VisutorCode)tb
    </select>

3.service实现

public JSONObject getAllCountByUrlNew(String url){
        List urls = activityService.getListByTaskCode(url);
        DataMap hashMap =new DataMap();
        hashMap.put("url",urls); //为list
        hashMap.put("startDate",null);
        hashMap.put("endDate",null);
        //获得所有的访客数据
        int listAllUv = baseMapper.getAllUvCountByUrlNew(hashMap);
JSONObject json = new JSONObject();
        json.put("allUv",listAllUv);//所有的uv
                return json;
    }
    

猜你喜欢

转载自www.cnblogs.com/jing-xw/p/9132185.html