package com.landtool.lanbase.modules.org.listener; import java.util.ArrayList; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.landtool.lanbase.modules.org.dao.OrgUserDao; import com.landtool.lanbase.modules.org.entity.OrgUser; public class OrgUserReadListener extends AnalysisEventListener { private static final Logger log=LoggerFactory.getLogger(OrgUserReadListener.class); private static final int Batch_Count=50; private OrgUserDao orgUserDao; List< OrgUser> list=new ArrayList<>(); public OrgUserReadListener(OrgUserDao orgUserDao){ this.orgUserDao=orgUserDao; } @Override public void invoke(OrgUser data, AnalysisContext context) { list.add(data); if(list.size()>=Batch_Count){ saveData(); list.clear(); } } @Override public void doAfterAllAnalysed(AnalysisContext context) { saveData(); } private void saveData(){ log.info("保存100条用户信息开始"); orgUserDao.saveBatch(list); //将用户来源应用系统 用数据库触发器的方式在插入的时候进行 log.info("保存100条用户信息结束"); } }