java数据封装成json(本文在idea的mapper.xml层封装)

HTML+SpringMVC的前后端分离项目

一、目的将从数据库查出来的数据进行封装

eg:将数据:groupId、groupName、userId、userName、age 封装为如下格式

"success": true,

"message": "",

"data": [             

           {            

            "groupId": "1001",

            "groupName": "小猪佩奇",           

            "userList": [

                {                                       

                    "userId": "2022001",

                    "userName": "张三",

                    "age": "20"

                },

               {                 

                    "userId": "2022002",

                    "userName": "李四",

                    "age": "24"

                }

                ]

           },

           {            

            "groupId": "1002",

            "groupName": "海底小纵队",           

            "userList": [

                {                                       

                    "userId": "2022001",

                    "userName": "张三",

                    "age": "20"

                },

               {                 

                    "userId": "2022003",

                    "userName": "王五",

                    "age": "25"

                }

                ]

           }

     ]   

二、具体操作

1、在mapper层用sql查出所需字段(其中resultMap为封装时的id)

 <select id="getUserInfo" parameterType="java.lang.String" resultMap="userInfo">
        SELECT
        a.group_id groupId,
        a.group_name groupName,
        b.user_id userId,
        b.user_name userName,
        b.age
        FROM
           group a
        LEFT JOIN user b
        WHERE userId = #{userId}

    </select>

2、对查出来的数据进行封装(type:实体类:groupId、groupName和userList)

<resultMap id="userInfo" type="com.zcc.pojo.userDTO">
        <result column="groupId" jdbcType="VARCHAR" property="userId"/>
        <result column="groupName" jdbcType="VARCHAR" property="userName"/>
        <collection property="userList" ofType="java.util.Map">
            <result column="userId" property="userId" jdbcType="VARCHAR"/>
            <result column="userName" property="userName" jdbcType="VARCHAR"/>
            <result column="age" property="age" jdbcType="INTEGER"/>
        </collection>

</resultMap>

3、在pojo创建实体类userDTO

package com.zcc.pojo.userDTO;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;
import java.util.Map;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class userDTO {

    private String groupId;
    private String groupName;
    private List<Map<String,Object>> userList;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值