mybatis中傳入一個List或Map集合作為查詢條件的引數
阿新 • • 發佈:2019-02-09
入參為List的寫法:
Mapper 檔案的寫法:
<select id="queryParamList" resultType="map" parameterType="java.util.List"> select id from static where id in <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </select>
其中<foreach>這個標籤是用來迴圈傳入的集合的,collection="list"這個引數中有list,map兩種,還有就是自定義的引數,item="item"這個引數可以自定義,用來迴圈集合裡面的值,這個引數的取名要和下面#()這個裡面的取名一致。
parameterType="java.util.List"這個傳入的引數型別不能簡寫成List(其中只有基本資料型別可以簡寫)。
ps:當然,如果用in來查詢的,可以用一個string來寫,如上圖列子:將id手動拼接成一個string傳入。參照sql語句的規則。
入參為Map的寫法:
<selectid="findTeacherByPage"resultMap="supervisorResultMap" parameterType="java.util.Map"> select * from teacher
where name= #{name}
limit #{start},#{limit}
</select>
注:map中的key值就是name,start,limit。