//Bean public class OptionReq { private Integer id; private String contractnum; private String szRev; private String szEsend; private String commissionProcessingTime; public OptionReq() { } //重点 没有无法读到数据 public OptionReq(String contractnum, String szRev, String szEsend, String commissionProcessingTime) { this.contractnum=contractnum; this.szRev=szRev; this.szEsend=szEsend; this.commissionProcessingTime=commissionProcessingTime; } } //Mapper /* @Select({"", "AND mydate = #{mydate}", "", "" _ue_custom_node_="true">"}) */ public interface OptionManyMapper { @Insert("" + "(#{obj.contractnum},#{obj.szRev},#{obj.szEsend},#{obj.commissionProcessingTime})" + "" + "" _ue_custom_node_="true">") Integer InsertReq(Listlist); @Delete("") Integer delReq(); } //方法 public static int insertReq(Listlist){ int maxRun=10000; //最大插入 不能太大 需要配置my.ini 与java内存支持 try { ListlistSql = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { //对应Bane toString 方法内容 多少个内容 多少个值 对应sql 插入的数据 //INSERT INTO `test` (`contractnum`, `sz_rev`, `sz_esend`, `commission_processing_time`) VALUES ('a1','a2','a3','a4'),('a1','a2','a3','a4') listSql.add(new OptionReq(list.get(i).getContractnum(), list.get(i).getSz_rev(),list.get(i).getSzEsend(), list.get(i).getCommissionProcessingTime())); } OptionManyMapper item = SpringUtils.getBean(OptionManyMapper.class); int index = (int)Math.ceil((double)listSql.size()/maxRun); log.error("index:"+index+" "+listSql.size()); for (int i=0;i< index;i++){ //stream流表达式,skip表示跳过前i*10000条记录,limit表示读取当前流的前10000条记录 //System.out.println("!!!!:"+list.stream().skip(i*10000).limit(10000).collect(Collectors.toList())); item.InsertReq(listSql.stream().skip(i*maxRun).limit(maxRun).collect(Collectors.toList())); } }catch (Exception e){ e.printStackTrace(); } return 0 ; } //由于特殊 用别的baen 做数据 import com.orientsec.common.utils.StringUtils; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.orientsec.framework.aspectj.lang.annotation.Excel; import com.orientsec.framework.web.domain.BaseEntity; /** */ public class OptionMonitoringData { private static final long serialVersionUID = 1L; /** null */ private Long id; /** contractnum */ @Excel(name = "contractnum") private String contractnum; /** SZ-REV */ @Excel(name = "SZ-REV") private String sz_rev; /** SZ-Esend */ @Excel(name = "SZ-Esend") private String szEsend; /** 委托处理时间 */ @Excel(name = "委托处理时间") private String commissionProcessingTime; /** RespRev */ @Excel(name = "RespRev") private String respRev; /** SZ-EndSend */ @Excel(name = "SZ-EndSend") private String szEndsend; /** 确认处理时间 */ @Excel(name = "确认处理时间") private String confirmTime; /** 撮合耗时 */ @Excel(name = "撮合耗时") private String matchTime; /** 总耗时 */ @Excel(name = "总耗时") private String totalTime; private String dataDay; public void setId(Long id) { this.id = id; } public Long getId() { return id; } public void setContractnum(String contractnum) { this.contractnum = contractnum; } public String getContractnum() { return contractnum; } public String getSz_rev() { return sz_rev; } public void setSz_rev(String sz_rev) { this.sz_rev = sz_rev; } public void setSzEsend(String szEsend) { this.szEsend = szEsend; } public String getSzEsend() { return szEsend; } public void setCommissionProcessingTime(String commissionProcessingTime) { this.commissionProcessingTime = commissionProcessingTime; } public String getCommissionProcessingTime() { return commissionProcessingTime; } public void setRespRev(String respRev) { this.respRev = respRev; } public String getRespRev() { return respRev; } public void setSzEndsend(String szEndsend) { this.szEndsend = szEndsend; } public String getSzEndsend() { return szEndsend; } public void setConfirmTime(String confirmTime) { this.confirmTime = confirmTime; } public String getConfirmTime() { return confirmTime; } public void setMatchTime(String matchTime) { this.matchTime = matchTime; } public String getMatchTime() { return matchTime; } public void setTotalTime(String totalTime) { this.totalTime = totalTime; } public String getTotalTime() { return totalTime; } public String getDataDay() { return dataDay; } public void setDataDay(String dataDay) { this.dataDay = dataDay; } @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("id", getId()) .append("contractnum", getContractnum()) .append("sz_rev", getSz_rev()) .append("szEsend", getSzEsend()) .append("commissionProcessingTime", getCommissionProcessingTime()) .append("respRev", getRespRev()) .append("szEndsend", getSzEndsend()) .append("confirmTime", getConfirmTime()) .append("matchTime", getMatchTime()) .append("totalTime", getTotalTime()) .append("dataDay",getDataDay()) .toString(); } @Override public boolean equals(Object obj) { if(this == obj){ return true;//地址相等 } if(obj == null){ return false;//非空性:对于任意非空引用x,x.equals(null)应该返回false。 } if(obj instanceof OptionMonitoringData){ OptionMonitoringData other = (OptionMonitoringData) obj; //需要比较的字段相等,则这两个对象相等 if(equalsStr(this.sz_rev, other.sz_rev)){ return true; } } return false; } private boolean equalsStr(String str1, String str2){ if(StringUtils.isEmpty(str1) && StringUtils.isEmpty(str2)){ return true; } if(!StringUtils.isEmpty(str1) && str1.equals(str2)){ return true; } return false; } @Override public int hashCode() { int result = 17; result = 31 * result + (sz_rev == null ? 0 : sz_rev.hashCode()); //result = 31 * result + (age == null ? 0 : age.hashCode()); return result; } } //调用方法 用for 循环添加一个list
关注"都市百货" 了解南陵
微信咨询wanglf2r(不拉群 发广告者勿加)
热门评论