项目场景:
mybatis开发:
Mybatis传不同类型参数到xml映射文件遇到的问题
问题描述
1.想要传入多个不同类型的参数:
传入不同类型参数mapper.selectInfo(String xxx,String yyy,List list)
运行报错
原因分析:
在xml标签选项中的paramType只能指定一个类型
解决方案:
将参数封装成map
xml映射文件的paramType改为java.util.Map,mapper.selectInfo(map)
2.传入map之后对于list的取值问题
list值不能直接取 我写SQL的时候是直接取的
mapper层的@param那个参数名假定为map
“map.list[0]” 这种方式才能取到list里面的值
还有
<if test="map.list.size()>1 " >
and d.class_id in
<foreach collection="map.list" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>