DAO层的基础建设:
创建 AdBlacklist类,用于
package com.aura.bigdata.analysis.domain.ad;
public class AdBlacklist {
private int user_id;
public int getUser_id() {
return user_id;
}
public void setUser_id(int user_id) {
this.user_id = user_id;
}
}
AdBlacklist的接口
import com.aura.bigdata.analysis.dao.IBaseDao;
import com.aura.bigdata.analysis.domain.ad.AdBlacklist;
import java.util.List;
public interface IAdBlacklistDao extends IBaseDao<AdBlacklist> {
/**
* 查询所有数据
* @return
*/
List<AdBlacklist> queryAll();
}
创建ad_blacklist`表来储存结果
CREATE TABLE `ad_blacklist` (
`user_id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
创建AdStat类,利用getter和setter方法来获取广告状态
package com.aura.bigdata.analysis.domain.ad;
public class AdStat {
private String date;
private String province;
private String city;
private int ad_id;
private int click_count;
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public int getAd_id() {
return ad_id;
}
public void setAd_id(int ad_id) {
this.ad_id = ad_id;
}
public int getClick_count() {
return click_count;
}
public void setClick_count(int click_count) {
this.click_count = click_count;
}
}
创建表ad_stat,将结果储存进去
CREATE TABLE `ad_stat` (
`date` varchar(30) DEFAULT NULL,
`province` varchar(100) DEFAULT NULL,
`city` varchar(100) DEFAULT NULL,
`ad_id` int(11) DEFAULT NULL,
`click_count` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
创建ad_user_click_count类,利用setter和getter方法来获得用户的点击数
public class AdUserClickCount {
private String date;
private int user_id;
private int ad_id;
private int click_count;
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public int getUser_id() {
return user_id;
}
public void setUser_id(int user_id) {
this.user_id = user_id;
}
public int getAd_id() {
return ad_id;
}
public void setAd_id(int ad_id) {
this.ad_id = ad_id;
}
public int getClick_count() {
return click_count;
}
public void setClick_count(int click_count) {
this.click_count = click_count;
}
}
匹配的接口
package com.aura.bigdata.analysis.dao.ad;
import com.aura.bigdata.analysis.dao.IBaseDao;
import com.aura.bigdata.analysis.domain.ad.AdUserClickCount;
public interface IAdUserClickCountDao extends IBaseDao<AdUserClickCount> {
int getClickCountByDateUserAd(String date, int userId, int adId);
}
结果储存到表ad_user_click_count当中
CREATE TABLE `ad_user_click_count` (
`date` varchar(30) DEFAULT NULL,
`user_id` int(11) DEFAULT NULL,
`ad_id` int(11) DEFAULT NULL,
`click_count` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
int(11)—>java中的integer/int //类型转换
bigint—>java中的Long/long
创建ad_province_top3类,用于求取
package com.aura.bigdata.analysis.domain.ad;
public class AdProvinceTop {
private String date;
private String province;
private int ad_id;
private int click_count;
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {