2017_11_28 mybatis多參數傳入,以及#,$的區別

mybatis的resultType只能接收一個參數,但是當前臺數據想要傳多個參數時,resultType就不能使用了,這時應該使用resultMap,resultMap作爲參數map,封裝多個條件,這裏我就記錄了自認爲比較複雜的一種情況,如果傳遞的參數是一個list集合,在mybatis框架遍歷時,collection必須指定爲list,如果傳遞的參數時一個array數組,collection必須指定爲array,第三種,如果傳遞的參數即有普通屬性,例如date,還有數組或集合,那麼在foreach遍歷中collection的值就爲改數組或集合的引用對象,例如List<String> list = new ArrayList<String>();list就是應該寫在collection中的值。


在mybatis中,需要注意以下幾點:

1,你所傳遞的參數是否可以直接拿來拼接,如果格式不對,應做好處理再拼接。

2,mybatis中#相當於對數據 加上雙引號,$相當於直接顯示數據(這是大坑!!!牢記




<select id="queryByIndustryCategoryList" resultType="com.csht.vehicle.model.OutageVehiclePojo"
parameterType="java.util.Map">
SELECT c.tran as tran
,SUM(c.cont) as count
,c.dateday as dateday 
FROM t_car c WHERE
dateday = 
<if test="dateday!=null and dateday!=''">
${dateday}
</if>
GROUP BY c.tran,c.dateday HAVING c.tran IN
<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
            '${item}'
        </foreach>
</select>


隨筆:springboot框架的入口是Application.java類,必須放在根目錄下。



發佈了37 篇原創文章 · 獲贊 21 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章