美文网首页
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