详解Mybatis 传递参数类型为List的取值问题
问题描述:
参数传递为List时:
当传递一个List实例或者数组作为参数对象传给Mybatis。此时,Mybatis会自动将它包装在一个Map中,用名称在作为键。List实例将会以“list”作为键,而数组实例将会以“array”作为键。所以,当我们传递的是一个List集合时,mybatis会自动把我们的list集合包装成以list为Key值的map。
DAO层:
ListselectUserByIDs(ListIDs);
XML文件:
select*fromuser 0"> #{uid}
报错信息:
org.apache.ibatis.binding.BindingException:Parameter‘IDs'notfound.Availableparametersare[collection,list]
解决方法:
方法一:将我们的XML中collection属性值直接设置为list
DAO层:
ListselectUserByIDs(ListIDs);
XML文件:
select*fromuser 0"> #{uid}
方法二:利用注解@Param指定我们的入参名称
DAO层:
ListselectUserByIDs(@Param("IDs")ListIDs);
XML文件:
select*fromuser 0"> #{uid}
到此这篇关于详解Mybatis传递参数类型为List的取值问题的文章就介绍到这了,更多相关Mybatis传递参数类型为List的取值内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。