mybatis注釈一括追加
6884 ワード
mybatis注記一括追加の使用
mybatis注記を一括して追加する場合
1.mapperインタフェース
2 sql接合
に注意
1.list集合が1000個を超えるとmf.format(new Object[]{i}はlist[{1000}]とつづられて文字列が間違って報告されるので範囲を超え、iで上空の文字列をつづる.
mybatis注記を一括して追加する場合
1.mapperインタフェース
@InsertProvider(type = SourcePackageImportSqlProvinder.class, method = "batchinsert")
Integer batchInsertRecommend(@Param("recommendList") List<PartnerResourcesRecommend> recommendList);
2 sql接合
public String batchinsert(Map<String, Object> map) {
List<PartnerPackageSourceCate> partnerPackageSourceCates = (List<PartnerPackageSourceCate>) map.get("list");
StringBuilder sb = new StringBuilder();
sb.append("insert into table_name ");
sb.append(
"(unique_code,partner_id,partner_pid,package_number,cid,recources_id,type,create_time,back_uid,resources_name,resources_keyword,torder) ");
sb.append("values ");
MessageFormat mf = new MessageFormat(
"(#'{'list[{0}].unique_code}, #'{'list[{0}].partner_id}, #'{'list[{0}].partner_pid},#'{'list[{0}].package_number},#'{'list[{0}].cid},"
+ "#'{'list[{0}].recources_id},#'{'list[{0}].type},#'{'list[{0}].create_time},#'{'list[{0}].back_uid},#'{'list[{0}].resources_name},"
+ "#'{'list[{0}].resources_keyword},#'{'list[{0}].torder})");
for (int i = 0; i < partnerPackageSourceCates.size(); i++) {
sb.append(mf.format(new Object[] { i +""}));
if (i < partnerPackageSourceCates.size() - 1) {
sb.append(",");
}
}
return sb.toString();
}
に注意
1.list集合が1000個を超えるとmf.format(new Object[]{i}はlist[{1000}]とつづられて文字列が間違って報告されるので範囲を超え、iで上空の文字列をつづる.