Mybatis查询返回Map<String,Object>类型

1.数据库表结构

CREATE TABLE `dbl_t_person` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `address` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
  `tel` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
  `bdate` date DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

2.测试数据

INSERT INTO `dbl_t`.`dbl_t_person`(`id`, `name`, `age`, `address`, `tel`, `bdate`) VALUES (1, '张三', 18, '成都', '18876372890', '1999-06-16');
INSERT INTO `dbl_t`.`dbl_t_person`(`id`, `name`, `age`, `address`, `tel`, `bdate`) VALUES (2, '李四', 18, '重庆', '17789938729', '2002-06-12');
INSERT INTO `dbl_t`.`dbl_t_person`(`id`, `name`, `age`, `address`, `tel`, `bdate`) VALUES (3, '王五', 17, '上海', '18719383379', '2003-11-19');

3.Mapper

@Mapper
public interface PersonMapper {
    @MapKey("age")
    Map<String, List<Person>> listPerson();
}

4.Mapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.dbl.demo.dao.PersonMapper">
    <resultMap id="result" type="java.util.Map">
    	<!-- 不可缺少 -->
        <result column="age" property="age"></result>
        <collection property="person" javaType="arrayList" ofType="com.dbl.demo.entity.Person">
            <result property="id" column="id"></result>
            <result property="age" column="age"></result>
            <result property="name" column="name"></result>
            <result property="tel" column="tel"></result>
            <result property="bDate" column="bdate"></result>
            <result property="address" column="address"></result>
        </collection>
    </resultMap>
    <select id="listPerson" resultMap="result">
        select * from dbl_t_person
    </select>
</mapper>

5.返回结果

{17={person=[Person(id=3, name=王五, age=17, address=上海, tel=18719383379, bDate=Wed Nov 19 00:00:00 GMT+08:00 2003)], age=17}, 18={person=[Person(id=1, name=张三, age=18, address=成都, tel=18876372890, bDate=Wed Jun 16 00:00:00 GMT+08:00 1999), Person(id=2, name=李四, age=18, address=重庆, tel=17789938729, bDate=Wed Jun 12 00:00:00 GMT+08:00 2002)], age=18}}

在这里插入图片描述

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值