配置文件(Oracle):
<!-- 批量插入臨時表-->
<insert id="insertTempPhoneBatch"parameterType="java.util.HashMap" >
insert into ce_tempPhone_info(phone)
(
<foreach collection="list"item="item" separator="union"opne="" close="" index="">
select #{item,jdbcType=VARCHAR} from dual
</foreach>
)
</insert>
Insert intoce_tempPhone_info(phone) (select xxx from dual union select yyy from dual …..);
解析:
parameterType:
參數的類型可以是java.util.HashMap或者java.util.List
如果傳入的類型是List的話可以兩者都可以使用,List的會被封裝成Map類型的;
collection:
如果傳入的是list集合,則此處寫list;
數組類型,此處array;
item:
循環的時候的變量;
如果傳入的是list或array,則使用的時候直接使用#{item,jdbcType=VARCHAR}即可;
如果list中泛型是對象的話,必須使用#{item.phone,jdbcType=VARCHAR}類似形式
index:
索引;
open:
查詢以什么開始;
如:open="(",則該foreach會以"("開頭;
close:
以什么符號結束;
separator:
連接符,以什么進行每次循環的連接符;
Java類:
Ce_sample_info info = new Ce_sample_info();
info.setProject_id(project_id);
for(int i=0;i<phones.length;i++){
info.setPhone(phones[i]);
//查詢當前project_id和phone在ce_sample_info表中是否存在,不存在則插入
int count = baseDao.selectOne("ce_sample_infoMapper.queryProjectPhoneCount",info);
System.out.println("==========count===========" +count);
if(count == 0) {
String id =baseDao.selectOne("ce_sample_infoMapper.querySampleSeq");
info.setSample_id(id);
baseDao.insert("ce_sample_infoMapper.insertSelective",info);
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。