目录
本篇文章记录各区域热门商品统计-将结果数据写入MySQL中。
代码
domain
AreaTop3Product.java
package graduation.java.domain; /** * FileName: AreaTop3Product * Author: hadoop * Email: 3165845957@qq.com * Date: 19-4-1 下午11:36 * Description: * 各区域top3热门商品 */ public class AreaTop3Product { private long taskid; private String area; private String areaLevel; private long productid; private String cityInfos; private long clickCount; private String productName; private String productStatus; public long getTaskid() { return taskid; } public void setTaskid(long taskid) { this.taskid = taskid; } public String getArea() { return area; } public void setArea(String area) { this.area = area; } public String getAreaLevel() { return areaLevel; } public void setAreaLevel(String areaLevel) { this.areaLevel = areaLevel; } public long getProductid() { return productid; } public void setProductid(long productid) { this.productid = productid; } public String getCityInfos() { return cityInfos; } public void setCityInfos(String cityInfos) { this.cityInfos = cityInfos; } public long getClickCount() { return clickCount; } public void setClickCount(long clickCount) { this.clickCount = clickCount; } public String getProductName() { return productName; } public void setProductName(String productName) { this.productName = productName; } public String getProductStatus() { return productStatus; } public void setProductStatus(String productStatus) { this.productStatus = productStatus; } @Override public String toString() { return "AreaTop3Product{" + "taskid=" + taskid + ", area='" + area + '\'' + ", areaLevel='" + areaLevel + '\'' + ", productid=" + productid + ", cityInfos='" + cityInfos + '\'' + ", clickCount=" + clickCount + ", productName='" + productName + '\'' + ", productStatus='" + productStatus + '\'' + '}'; } }
dao
IAreaTop3ProductDAO.java
package graduation.java.dao; import graduation.java.domain.AreaTop3Product; import java.util.List; /** * FileName: IAreaTop3ProductDAO * Author: hadoop * Email: 3165845957@qq.com * Date: 19-4-1 下午11:39 * Description: */ public interface IAreaTop3ProductDAO { /** * 各区域top3热门商品插入msqyl DAO * @param areaTop3Products */ void insertBatch(List<AreaTop3Product> areaTop3Products); }
impl
AreaTop3ProductDAOImpl.java
package graduation.java.impl; import graduation.java.dao.IAreaTop3ProductDAO; import graduation.java.domain.AreaTop3Product; import graduation.java.jdbc.JDBCHelper; import org.netlib.lapack.Iparmq; import java.util.ArrayList; import java.util.List; /** * FileName: AreaTop3ProductDAOImp * Author: hadoop * Email: 3165845957@qq.com * Date: 19-4-1 下午11:41 * Description: * 各区域top3热门商品DAO实现类 */ public class AreaTop3ProductDAOImp implements IAreaTop3ProductDAO { @Override public void insertBatch(List<AreaTop3Product> areaTop3Products) { String sql = "insert into area_top3_product values(?,?,?,?,?,?,?,?)"; List<Object[]> paramList = new ArrayList<Object[]>(); for (AreaTop3Product areaTop3Product: areaTop3Products){ Object[] param = new Object[8]; param[0]= areaTop3Product.getTaskid(); param[1] = areaTop3Product.getArea(); param[2] = areaTop3Product.getAreaLevel(); param[3] = areaTop3Product.getProductid(); param[4] = areaTop3Product.getCityInfos(); param[5] = areaTop3Product.getClickCount(); param[6] = areaTop3Product.getProductName(); param[7] = areaTop3Product.getProductStatus(); paramList.add(param); } JDBCHelper jdbcHelper = JDBCHelper.getInstance(); jdbcHelper.executeBatch(sql,paramList); } }
factory
DAOFactory.java
/** * 获取top3热门商品管理DAO * @return */ public static AreaTop3ProductDAOImp getAreaTop3ProductDAO(){ return new AreaTop3ProductDAOImp(); }
spark.product
AreaTop3ProductSpark.java
/** * 将计算出来的各区域top3热门商品写入mysql中 * @param taskid * @param rows */ private static void persistAreaTop3Product(long taskid, List<Row> rows) { List<AreaTop3Product> areaTop3Products = new ArrayList<AreaTop3Product>(); for (Row row:rows){ AreaTop3Product areaTop3Product = new AreaTop3Product(); areaTop3Product.setTaskid(taskid); areaTop3Product.setArea(row.getString(0)); areaTop3Product.setAreaLevel(row.getString(1)); areaTop3Product.setProductid(row.getLong(2)); areaTop3Product.setClickCount(Long.valueOf(String.valueOf(row.get(3)))); areaTop3Product.setCityInfos(row.getString(4)); areaTop3Product.setProductName(row.getString(5)); areaTop3Product.setProductStatus(row.getString(6)); areaTop3Products.add(areaTop3Product); } IAreaTop3ProductDAO areaTop3ProductDAO = DAOFactory.getAreaTop3ProductDAO(); areaTop3ProductDAO.insertBatch(areaTop3Products); }