MySql-4-查询字段类型是JSON的结果映射-直接上代码

1、构建实体

public class PortalNewsTitleListRespVO implements Serializable {
    private static final long serialVersionUID = 1735287780771L;

    @ApiModelProperty(value = "id(雪花)")
    private String id;

    @ApiModelProperty(value = "标题")
    private String title;

    @ApiModelProperty(value = "配图")
    private UploadVO entryPicture;

    @ApiModelProperty(value = "创建时间")
    @JSONField(format = "yyyy-MM-dd")
    private Date createdTime;
}
public class UploadVO implements Serializable {
    private static final long serialVersionUID = 1735287763708L;
 
    private String fileId;

    private String fileUrl;

    private String fileName;

    private String busibessJoin;

    private String contentType;
}

2、构建Mapper.xml

     entryPicture 字段类型是JSON格式,映射如下:

     SQL查询语句如下:

<?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.e6yun.project.portal.mapper.ProtalMenuMapper">
 
    <resultMap id="getTitleListResultMap" 
                    type="com.e6yun.project.portal.vo.client.PortalNewsTitleListRespVO">
        <id column="id" property="id" jdbcType="VARCHAR"/>
        <result column="created_time" property="createdTime" jdbcType="TIMESTAMP"/>
        <result column="title" property="title" jdbcType="VARCHAR"/>
        <result column="entry_picture" property="entryPicture" jdbcType="OTHER"
                typeHandler="com.e6yun.project.tms.common.framework.support.mp.handler.TmsBaseJsonObjTypeHandler"/>
    </resultMap>
 
     <select id="getTitleListByMenuIds" resultMap="getTitleListResultMap">
        SELECT
            pn.id,
            pn.menu_id,
            pn.title,
            pn.entry_picture,
            pn.created_time
        FROM
            portal_news pn
        ORDER BY
            pn.created_timeDESC
            LIMIT #{count}
    </select>

</mapper>

3、数据库表设计 

CREATE TABLE `news` (
  `created_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `id` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'id(雪花)',
  `title` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标题',
  `entry_picture` json DEFAULT NULL COMMENT '入口配图',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='信息';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值