一開始是檢查mapper.xml中是否存在沒有寫JdbcType ,后來寫了,因為這個屬性的實體類之前改過類型,所以重新編譯了一下,還是不行
<if test="packing !=null">
AND PACKING like '%'||#{packing,jdbcType=VARCHAR}||'%'
</if>
此處是沒有任何的問題的,問題出現在哪里?java代碼處理的過程中出現了問題 如下:
if(StringUtils.isNotEmpty(auction)){
String[] auctions = auction.split(",");
if(auctions.length>1){
map.put("auctions", auctions);
}else{
map.put("auction", auction);
}
}
auction 本身是個字符串的類型,但是經過split分割后,就變成了一個數組(如果是多個字符串並以 , 隔開的話)
如果是單純的一個字符串,那么split(,) 執行完后,原先的auction ="22222" 會變為{22222}對象類型,這樣的話就會有問題
正確的寫法為:
String[] auctions = auction.split(",");
if(auctions.length>1){
map.put("auctions", auctions);
}else{
map.put("auction", auction);
}
這樣就沒有問題了,也算是個小坑吧,記錄一下!