在数据库中存储Json格式数据

1、表字段类型 json

2、Java代码有两种方式:

方式一 :属性定义成String类型。
往数据库中存储的值 必须为JSON格式的字符串,因为数据库中会做一次校验。
缺点:往数据库中存的数据是String类型,从数据库中查到的数据也是String类型。存时需手动的进行转换,select时需手动解析。

//手动转换
entity.setAttr(JSONObject.toJSONString(dto));//手动解析
ClusterQStorageDTO dto = JSONObject.parseObject(entity.getAttr(), ClusterQStorageDTO.class);

方式二 :属性为 类类型。

使用MybatisPlus的TableField注解,进行存储时的类型转换
@TableField(value = "resource_group_info", typeHandler = JacksonTypeHandler.class)
其实注解的原理还是 将对象转成了JSON格式的字符串进行存储。
优点:MybatisPlus自动完成了转换 和 解析。

【注意】:由于updateById() 不会更新属性为null的属性,因此下面的更新操作不会改变表的字段值。

public void test2(){QdmClusterEntity qdmClusterEntity = mapper.selectById(11);qdmClusterEntity.setResourceGroupInfo(null);mapper.updateById(qdmClusterEntity);
}

为了方便编码,方式二:可以set一个无参对象。
方式一:set 一个字符串 {} 。
解析JSON字符串后 得到的对象值都是null。满足要求。

若定义了Mapper文件: ,映射关系上 需添加json类型的映射处理

数据库中存储Json格式数据相关推荐

  1. 在JSP页面中输出JSON格式数据

    JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.html J ...

  2. Mysql存储json格式数据

    Mysql5.7版本以后新增的功能,Mysql提供了一个原生的Json类型,Json值将不再以字符串的形式存储,而是采用一种允许快速读取文本元素(document elements)的内部二进制(in ...

  3. 【数据库】GBase 8s数据库存储json格式数据

    建表 创建一张包含bson(json的二进制数据类型)数据类型的表 -- data为要存储json数据的字段 create table testjson(id int, data bson); 插入j ...

  4. JAVA中返回json格式数据

    1. 返回json格式 package com.demo.util;import com.alibaba.fastjson.JSONObject;import java.util.HashMap; i ...

  5. 如何在数据库中存储大的数据文件

    1. 什么是大的数据? 所谓大的数据,就是大的字节数据,或大的字符数据.标准SQL中提供了如下类型来保存大数据类型: 类型 长度 tinyblob 28–1B(256B) blob 216-1B(64 ...

  6. FormData数据中添加json格式数据

    今天在写接口时候,有一个接口参数需要的是FormData数据类型,然后里面有一个key值对应value值是json格式的.刚开始直接用append方法往FormData里面加,但是呢key值加上了,对 ...

  7. 向Redis中存入JSON格式数据

    redisConfig类中添加如下代码: /*** redisTemplate 序列化使用的jdkSerializeable, 存储二进制字节码, 所以自定义序列化类* @param redisCon ...

  8. android 中解析json格式数据

    本文来自http://tonysun3544.iteye.com/category/188238 package com.tony.json; import android.app.Activity; ...

  9. Mysql中使用json格式存储数据好吗?

    在最近的一次项目开发过程中,在数据表设计阶段,对是否用json格式存储某些数据我们产生了分歧.以往项目中对此点比较随意,导致数据表中有些json格式数据体积很大,层次很深,我担心这会降低数据查询和解析 ...

最新文章

  1. python详细安装教程linux-Linux(Ubuntu)系统安装Python
  2. html转换成keynote,keynote代码高亮【转】
  3. [精品]CSAPP Bomb Lab 解题报告(五)
  4. Java的Servlet、Filter、Interceptor、Listener
  5. 【LeetCode笔记】84. 柱状图中最大的矩形(字符串、单调栈)
  6. 【Java】保留X位有效数字
  7. linux更新模块,GNOME 3.29.3 发布,大量模块更新及功能改进
  8. cisco4503端口镜像配置
  9. 恶意代码防范技术原理-计算机病毒和特洛伊木马分析与防护
  10. android fastboot流程,FastBoot的使用步骤
  11. 笔记本电脑 联想 Thinkpad E420 无法打开摄像头怎么办
  12. S32K NVIC配置(以外部中断为例)
  13. 易知大学“大数据挖掘与分析(Python)”免费学习平台
  14. 如何将计算机网络连接打印机,电脑怎样连接打印机,教您电脑如何连接网络打印机...
  15. 奥利给:力扣160:相交链表
  16. Picked up _JAVA_OPTIONS: -Xmx900M”
  17. 2018年网络安全大事记
  18. Google Earth Engine—ETOPO1是一个1弧分的地球表面全球浮雕模型,整合了陆地地形和海洋测深。它是由许多全球和区域数据集建立的。它包含两个高程带:冰面和基岩。
  19. Firefox 主页 被篡改为 2345主页
  20. 使用 YUI Compressor 批量压缩JS/CSS

热门文章

  1. @ControllerAdvice+@ExceptionHandler处理架构异常捕获
  2. COSMIC: COmmonSense knowledge for eMotion Identification in Conversations
  3. 什么是wrappers
  4. 谁有惠普V3432 for 2000的声卡驱动,,救急啊!
  5. 分享自己开发的Oracle DUL工具
  6. python文本自动伪原创_如何实现文章AI伪原创?
  7. 诺基亚打造智能机双平台 降低微软影响
  8. Android原生 通过图片检测到人脸
  9. 帝国cms html5 编辑器,帝国cms 7.5 utf8集成百度编辑器完美集成版
  10. win10分辨率不能调整_电脑显示器分辨率的调节方法,让你的电脑性能最大化