美文网首页
MySQL存JSON数据

MySQL存JSON数据

作者: AC编程 | 来源:发表于2022-03-15 14:51 被阅读0次

一、实体类

//留言
public class Message{
    //留言内容
    private String messageContent;

    //附件(JSON格式)
    private String attachments;

    //评论数
    private Integer commentNum;

    //点赞数
    private Integer likeNum;
}

二、VO类

//留言附件
public class MessageAttachment {
    //图片地址
    private String url;

    //名字
    private String name;
    
    //扩展名
    private String extension;
}
//发布留言
public class CreateMessageVO {

    //用户ID
    private Long memberId;

    //留言信息
    private String messageContent;

    //附件
    private List<MessageAttachment> attachmentList;
}

三、Service关键代码

3.1 对象转JSON字符串
Message message = MessageConvert.instance.voToEntity(vo);
if (CollectionUtil.isNotEmpty(vo.getAttachmentList())) {
     String attachments = JSON.toJSONString(vo.getAttachmentList());
     message.setAttachments(attachments);
}
3.2 JSON字符串转对象
if(StringUtils.isNotBlank(d.attachments())){
   List<MessageAttachment> attachmentList = JSONObject.parseArray(d.attachments(), MessageAttachment.class);
}

四、数据库字段

 `attachments` json DEFAULT NULL COMMENT '附件',
CREATE TABLE `t_message` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `message_content` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '留言内容',
  `attachments` json DEFAULT NULL COMMENT '附件',
  `comment_num` int DEFAULT '0' COMMENT '评论数',
  `like_num` int DEFAULT '0' COMMENT '点赞数',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除 0未删除 1已删除',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `IDX_deleted` (`deleted`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1367316728150794278 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='留言'

相关文章

  • MySQL存JSON数据

    一、实体类 二、VO类 三、Service关键代码 3.1 对象转JSON字符串 3.2 JSON字符串转对象 四...

  • MySQL处理Json数据

    备注: 版本: MySQL 8.0 一. Json数据存储 MySQL 8.0提供了json数据类型来存储json...

  • mysql json 查询

    mysql json 查询 MySQL 5.7新增对JSON支持 1. 普通 json 查询 数据 查询语句 数...

  • MySQL 5.7起支持JSON数据类型的字段

    MySQL 5.7起支持JSON数据类型的字段。JSON作为现在最为流行的数据交互形式,MySQL也不断跟进,在5...

  • SQL中的JSON数据类型

    SQL中的JSON数据类型 概述 MySQL支持原生JSON类型,使用JSON数据类型相较于将JSON格式的字符串...

  • mysql查询表字段中是否包含xx内容

    mysql查询表字段中是否包含xx内容 场景:数据库某表的content段中存储的是json字符串,team字段存...

  • MySQL之json数据操作

    1 MySQL之JSON数据 总所周知,mysql5.7以上提供了一种新的字段格式json,大概是mysql想把非...

  • JSON类型 和 生成列 - 非官方 MySQL 8.0 优化指

    MySQL Server 支持无模式的数据存储,功能特性如下: JSON 数据类型。JSON 值在新增 / 更新时...

  • MySQL JSON类型

    MySQL支持JSON数据类型。相比于Json格式的字符串类型,JSON数据类型的优势有: 存储在JSON列中的J...

  • MYSQL JSON值查询

    mysql根据json字段的内容检索查询数据 使用 字段->'$.json属性'进行查询条件 使用json_ext...

网友评论

      本文标题:MySQL存JSON数据

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