1、在Mybatis中写了一个UserMapper.java,一个UserMapper.xml,其中有一个SQL会返回一个hashmap,然后在UserMapper中也是用Map<String,String>接收,但在测试的时候会出现一个返回多条记录的异常。Map不是本来就可以接收多条吗?难道我非得通过List去接收吗?可是我业务层就是需要用Map,也不想在XML通过resultMap去转。有点感觉多此一举一样。有谁碰到过没? 1、 Java代码 收藏代码
public Map<String,Integer> queryUserMenuAuthByUser(String userId) ;
2、
<select id="queryUserMenuAuthByUser" parameterType="string" resultType="hashmap">
select auth_code,menu_code from sys_user_auth where user_id=#{userId}
</select>
这里会报回多条记录如下 exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne()
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
谁告诉你返回的第一个字段值就是Map的key,第二个字段值就是Map的Value呢???
没有任何官方文档有这种写法,凡事不要想当然好不!
Mybatis返回的Map是这样的一种格式:Map<字段名称,字段值>
一个Map<字段名,字段值>对象代表一行数据!
返回多行(多条)数据当然是多个Map啦,多个Map就只好放在List中,比较只能返回一个参数对象!