一开始是检查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);
}
这样就没有问题了,也算是个小坑吧,记录一下!