最近要实现一个批量插入数据存储到mysql数据库里的数据,但是csdn找了一下,发现暂时没找到心中想要的轮子,干脆自己写了一个,然后分享出来。
首先是impl层面ListMapper层面basAreaDiseaselistLogs = new ArrayList<>(); basAreaDiseaselist.forEach(diseaselistLog -> { BasAreaDiseaselistLog basAreaDiseaselistLog = new BasAreaDiseaselistLog(); BeanUtils.copyBeanProp(basAreaDiseaselistLog,diseaselistLog); basAreaDiseaselistLog.setSrcId(diseaselistLog.getBasAreaDiseaselistId()); basAreaDiseaselistLog.setLogTime(DateUtils.getNowDate()); basAreaDiseaselistLog.setLogerName(SecurityUtils.getUsername()); basAreaDiseaselistLog.setOprtType(Long.valueOf(oprtType)); if(diseaselistLog.getUpdateTime() != null){ basAreaDiseaselistLog.setUpdateTime(diseaselistLog.getUpdateTime()); } if(StringUtils.isNotBlank(diseaselistLog.getUpdateBy())){ basAreaDiseaselistLog.setUpdateBy(diseaselistLog.getUpdateBy()); } basAreaDiseaselistLogs.add(basAreaDiseaselistLog); }); iBasAreaDiseaselistLogService.insertBasAreaDiseaselistLog(basAreaDiseaselistLogs);
public int insertBasAreaDiseaselistLog(ListMapperXml层面basAreaDiseaselistLogs);
完毕,如有疑问欢迎私信或者评论咨询,谢谢!insert into BAS_AREA_DISEASELIST_LOG ( SRC_ID, DISEASE_CODE, DISEASE_NAME, FST_SPELL, FUL_SPELL, DISEASE_TYPE, MEMO, REMARK, CRTE_TIME, CRTER_NAME, UPDT_TIME, UPDTR_NAME, STATUS, LOG_TIME, LOGER_NAME, OPRT_TYPE ) values ( #{item.srcId,jdbcType=BIGINT}, #{item.diseaseCode,jdbcType=VARCHAR}, #{item.diseaseName,jdbcType=VARCHAR}, #{item.fstSpell,jdbcType=VARCHAR}, #{item.fulSpell,jdbcType=VARCHAR}, #{item.diseaseType,jdbcType=BIGINT}, #{item.memo,jdbcType=VARCHAR}, #{item.remark,jdbcType=VARCHAR}, #{item.crteTime,jdbcType=TIMESTAMP}, #{item.crterName,jdbcType=VARCHAR}, #{item.updtTime,jdbcType=TIMESTAMP}, #{item.updtrName,jdbcType=VARCHAR}, #{item.status,jdbcType=BIGINT}, #{item.logTime,jdbcType=TIMESTAMP}, #{item.logerName,jdbcType=VARCHAR}, #{item.oprtType,jdbcType=BIGINT} )



