Mybatis中返回Map的实现
在Mybatis中,我们通常会像下边这样用:
返回一个结果
UserselectOne(Useruser);
selectid,username,telphonefromuserwheretelphone=#{telphone}andpassword=#{password}
返回多个结果(其实这个和上边一样,只不过是查询条件的控制而已)
ListselectList(Useruser);
selectid,username,telphonefromuser
我们只要将上边的resultType改为java.util.HashMap,这会有生成下边这样
MapselectList(Useruser);
selectid,username,telphonefromuserwheretelphone=#{telphone}andpassword=#{password}
上这结果就是说,以User类的属性名为key,属性值为value。
当然,也可以查出来多条记录,将这个Map放进List中
List
selectid,username,telphonefromuser
但是有时候我们想要这种结果,怎么办呢?
{ "01":{ username:"zhangsan", telphone:"13000000000" } }
也就是我们要自定义一个Map
1.使用注解
@MapKey("id") MapgetUserInMap();
selectid,username,telphonefromuserwheretelphone=#{telphone}andpassword=#{password}
这个@MapKey的value写的就是User对象的一个属性
2.在xml文件中写上
HashMapgetUserInMap();
SELECTidas'key',*as'value',id,username,telphonefromuserwheretelphone=#{telphone}andpassword=#{password}
当然以上这两种方法,如果查出来是多条的话也会是List的形式
到此这篇关于Mybatis中返回Map的实现的文章就介绍到这了,更多相关Mybatis中返回Map内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。