mybatis 多引數 list和String
百度的過程太殘酷,一個一個試。因為要放兩個引數,需加以區分(多個引數同理)
方法一不建議使用,呼叫時打包引數不直觀,維護成本高,建議方法二,雖然引數多了不好看,但是見文知意。
public void deleteBooks(@Param("partnerId")long partnerId ,@Param("templist")List<CPPartnerBookSet> list);
xml 部分:方法一,方法二相同
<delete id="deleteBooks">
delete from cp.tbl_cp_partner_books
where partner_id = #{partnerId}
and book_id in
<foreach collection="templist" index="index" item="item" open="(" separator="," close=")">
#{item.bookId}
</foreach>
方法一不建議使用,呼叫時打包引數不直觀,維護成本高,建議方法二,雖然引數多了不好看,但是見文知意。
方法一: dao部分
注意:xml中使用引數需要嚴格匹配map 中put的key
public void deleteBooks(Map<String, Object> map);
map.put("partnerId", 12L);
map.put("templist",list);
方法二: dao部分
注意:利用@param註解時,因為mapper指定了引數名,xml中使用需要嚴格匹配
xml 部分:方法一,方法二相同
delete from cp.tbl_cp_partner_books
where partner_id = #{partnerId}
and book_id in
<foreach collection="templist" index="index" item="item" open="(" separator="," close=")">
#{item.bookId}
</foreach>
</delete>
特別強調,如果傳值 list ,那麼list 不能為空,簡單說就是確保list中有物件,即使 list.add(null)測試也能過,而 new ArrayList<?>()會報錯,下午噁心到了,左右不過。特地花點時間來記錄,以備不時之需。
相關文章
- Mybatis(五)--原始碼分析傳入單個list引數和多個list引數寫法MyBatis原始碼
- Mybatis傳入引數為List物件MyBatis物件
- MyBatis中傳入引數為List集合的MyBatis
- mybatis list作為引數 foreach迴圈MyBatis
- mybatis 傳入多個引數MyBatis
- MyBatis傳入多個引數MyBatis
- mybatis 傳遞多個引數 --解決mybatis查詢使用多個引數方法--javabean傳統方法和map方法MyBatisJavaBean
- Mybatis parameterType 傳入多個引數的使用MyBatis
- MyBatis傳入多個引數的問題MyBatis
- mybatis sql String>Double, 型別引數被強轉為數值型別MyBatisSQL型別
- 12.MyBatis學習--對映檔案_引數處理_單個引數&多個引數&命名引數MyBatis
- 如何在mybatis 中傳多個引數,如何在mybatis 中遍歷 集合?MyBatis
- 15.MyBatis傳入多個引數的問題MyBatis
- MyBatis 引數處理MyBatis
- Mybatis的引數-parameterTypeMyBatis
- MyBatis 如何接收引數MyBatis
- mybatis如何傳引數MyBatis
- Mybatis引數傳遞MyBatis
- MyBatis中foreach傳入引數為list、陣列、map的不同寫法MyBatis陣列
- mybatis基礎03(介面中的多個引數處理)MyBatis
- Mybatis傳遞多個引數的4種方式(乾貨)MyBatis
- MyBatis傳入多個引數,傳入陣列和列表資料的處理MyBatis陣列
- Mybatis 傳入多個引數查詢資料 (3種方法)MyBatis
- List<string> 去重
- mybatis引數型別錯誤MyBatis型別
- mybatis二級快取引數MyBatis快取
- Mybatis引數處理總結MyBatis
- JavaScript封裝方法,相容引數型別為Number和StringJavaScript封裝型別
- Mybatis動態Sql的Foreach遍歷拼接輸入引數中的List或陣列MyBatisSQL陣列
- 輸入多個編碼並支援模糊搜尋,引數是一個list
- mybatis 的傳入引數如何既有物件又有單個引數MyBatis物件
- kettle 引數——變數引數和常量引數變數
- Mybatis中List傳值MyBatis
- Java String作為引數的情況Java
- Mybatis引數傳遞&註解開發MyBatis
- MyBatis(五) insert、update、delete 、主鍵回填、返回matched行數和affected行數、引數配置#{},${}MyBatisdelete
- performSelector支援多引數performSelector
- Java中main方法引數String[ ] args的使用JavaAI