记录一次mybatis中parameterType中使用String和string的区别
今天修改一个问题。
xml中使用的是#{xxxx jdbcType=String}
但是这个sql 查询需要用到 in
如果这样查询 会变成
in ( "1,2,3,4,5")
所以我把他改成
in
<foreach collection="xxx.split(',')" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
修改完毕 但是 报错
巴拉巴拉 意思就是 String 类型 无法split 之类的
这下奇怪了。 突然看到 上面的 parameterType="String"
搜嘎。
把他改成小写的string 搞定。
记录一下原因:
mybatis 中 paramerter 中设置 String (大写) 等同于 写入 javaType = java.lang.String
如果写入 string 那么就等同于 说 我传过来的 值 中所有的类型 都是 string 可以是List<String> 也可以是string 那么
使用 xxx.split(',') 就可以了 。 如果使用 String 那么就不行了