Spring MVC中 Get請求 前端傳遞list,Mapper中判斷list長度並添加查詢條件


前端傳入的list參數應該是這樣子,不要懷疑,去測試一下吧。SpringMvc會把這樣的字符串格式自動轉成List:

第一種:

searchDTO{
  'waybillNos':'1111', '2222', '3333'
}

第二種:當 waybillNos 是一個json對象時,可以將waybillNos放在url中的參數中

searchDTO{
  'aaa':'value'
}
this.$httpExt().get('/receivable/outstanding?waybillNos ='+waybillNos , searchDTO, {
    headers: {
	'Content-Type': 'application/octet-stream'
    },
    responseType: 'arraybuffer'
}).then(res => {
		doSomething();
});

后台使用對象接收:

public class searchDTO {
    private List<String> waybillNos;
}

mapper中在where條件中需要判斷list的長度是否>0

<select id="queryPage" resultMap="BaseResultMap"
        parameterType="com.dto.SearchDTO">
  SELECT * FROM table_name WHERE 1=1
       <if test="waybillNos != null and waybillNos.size>0">
              AND waybill_no IN
              <foreach collection="waybillNos" item="item" index="index" open="(" separator="," close=")">
                  #{item}
              </foreach>
          </if>
</select>

這樣,就可以從前端輕松傳入list並合成查詢條件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM