mybatis返回List<Map>

在进行统计相关操作时,也许需要返回如List<map>形式的。

mapperl.xml中:

<select id="getAmount" parameterType="int" resultType="java.util.HashMap">   
    <![CDATA[  
        select count(*) as amount, estate_type as type, status from estate where status=#{status}  group by estate_type
    ]]>  
  </select>
在mapper.java中

List<Map> getAmount(int status);
需要注意的问题:

1.注意select标签上设置为resultType,而不是ibatis支持的resultClass

2.返回map时select列中最好设置别名。(经验证,当不设置别名时,你需要这个来取数据map.get("count(*)"))。

3.在mybatis中,无论你指定还是不指定返回类型,mybatis都会默认的先将查询回的值放入一个hashMap中(如果返回的值不止一条就是一个包含hashMap的list)。这其中的区别在于,如果你指定了返回类型,mybatis将会根据返回类型的实体类来从hashMap中获取值并set到这个实体类中。如果不指定就默认返回一个HashMap<String,Object>(List<HashMap<String,Object>>)。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值