109.Spark大型电商项目-各区域热门商品统计-将结果数据写入MySQL中

目录

代码

AreaTop3Product.java

IAreaTop3ProductDAO.java

AreaTop3ProductDAOImpl.java

DAOFactory.java

AreaTop3ProductSpark.java


本篇文章记录各区域热门商品统计-将结果数据写入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);

    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值