美文网首页
mybatis返回Map结构

mybatis返回Map结构

作者: 修行者12138 | 来源:发表于2020-08-21 03:13 被阅读0次

select * from student;
表结构如下


image.png

希望mybatis返回以下Map格式数据

{
    "100": {
        "id": 100,
        "name": "小民",
        "age": 20
    },
    "101": {
        "id": 101,
        "name": "小白",
        "age": 20
    },
    "102": {
        "id": 102,
        "name": "小平",
        "age": 21
    }
}

StudentMapper.java中写法如下

@MapKey("id")
Map<Integer, StudentDO> groupById();

StudentMapper.xml中写法如下

 <select id="groupById" resultType="com.crazyboy.springboot.entity.StudentDO">
    select * from student
</select>

即可达到上面的效果

上面的Map的key、value是一对一的关系,即一个id对于一个学生。
假如key和value是一对多的关系,比如一个年龄对应多个学生,期望返回格式如下,该怎么写?

{
    "20": [
        {
            "name": "小民",
            "id": 100,
            "age": 20
        },
        {
            "name": "小白",
            "id": 101,
            "age": 20
        }
    ],
    "21": [
        {
            "name": "小平",
            "id": 102,
            "age": 21
        }
    ]
}

暂时没找到方法==,不过这些都是语法糖而已,在service层加工也一样。

相关文章

网友评论

      本文标题:mybatis返回Map结构

      本文链接:https://www.haomeiwen.com/subject/vnymjktx.html