1.通过创建临时表进行数据去重
/**
* 创建临时表
*/
@Update({"drop temporary table if exists ${tableName};", "create temporary table ${tableName} select doctor_id from crm_speaker where 1=2 "})
void createTemoraryTable(@Param("tableName") String tableName);
/**
* 保存数据到临时表里面以便校验数据重复
*/
@Insert("<script>" +
"insert into ${tableName} (doctor_id) values\n" +
" <foreach collection=\"list\" item=\"doct\" index=\"index\" separator=\",\">\n" +
" (" +
" #{doct.doctorId,jdbcType=VARCHAR}\n" +
" )\n" +
" </foreach>\n" +
"</script>")
void insertBatchCheckDatas(@Param("list") List<SpeakerDO> dOs, @Param("tableName") String tableName);
/**
* 删除临时表
*/
@Update({"drop temporary table if exists ${tableName}"})
void dropTemporaryTable(@Param("tableName") String tableName);
2.通过本地文件将数据插入到数据库
https://www.cnblogs.com/wt869054461/p/11926051.html
原文:https://www.cnblogs.com/hanzhengjie/p/14337276.html