数据库中存储Json格式数据
在数据库中存储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格式数据相关推荐
- 在JSP页面中输出JSON格式数据
JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.html J ...
- Mysql存储json格式数据
Mysql5.7版本以后新增的功能,Mysql提供了一个原生的Json类型,Json值将不再以字符串的形式存储,而是采用一种允许快速读取文本元素(document elements)的内部二进制(in ...
- 【数据库】GBase 8s数据库存储json格式数据
建表 创建一张包含bson(json的二进制数据类型)数据类型的表 -- data为要存储json数据的字段 create table testjson(id int, data bson); 插入j ...
- JAVA中返回json格式数据
1. 返回json格式 package com.demo.util;import com.alibaba.fastjson.JSONObject;import java.util.HashMap; i ...
- 如何在数据库中存储大的数据文件
1. 什么是大的数据? 所谓大的数据,就是大的字节数据,或大的字符数据.标准SQL中提供了如下类型来保存大数据类型: 类型 长度 tinyblob 28–1B(256B) blob 216-1B(64 ...
- FormData数据中添加json格式数据
今天在写接口时候,有一个接口参数需要的是FormData数据类型,然后里面有一个key值对应value值是json格式的.刚开始直接用append方法往FormData里面加,但是呢key值加上了,对 ...
- 向Redis中存入JSON格式数据
redisConfig类中添加如下代码: /*** redisTemplate 序列化使用的jdkSerializeable, 存储二进制字节码, 所以自定义序列化类* @param redisCon ...
- android 中解析json格式数据
本文来自http://tonysun3544.iteye.com/category/188238 package com.tony.json; import android.app.Activity; ...
- Mysql中使用json格式存储数据好吗?
在最近的一次项目开发过程中,在数据表设计阶段,对是否用json格式存储某些数据我们产生了分歧.以往项目中对此点比较随意,导致数据表中有些json格式数据体积很大,层次很深,我担心这会降低数据查询和解析 ...
最新文章
- python详细安装教程linux-Linux(Ubuntu)系统安装Python
- html转换成keynote,keynote代码高亮【转】
- [精品]CSAPP Bomb Lab 解题报告(五)
- Java的Servlet、Filter、Interceptor、Listener
- 【LeetCode笔记】84. 柱状图中最大的矩形(字符串、单调栈)
- 【Java】保留X位有效数字
- linux更新模块,GNOME 3.29.3 发布,大量模块更新及功能改进
- cisco4503端口镜像配置
- 恶意代码防范技术原理-计算机病毒和特洛伊木马分析与防护
- android fastboot流程,FastBoot的使用步骤
- 笔记本电脑 联想 Thinkpad E420 无法打开摄像头怎么办
- S32K NVIC配置(以外部中断为例)
- 易知大学“大数据挖掘与分析(Python)”免费学习平台
- 如何将计算机网络连接打印机,电脑怎样连接打印机,教您电脑如何连接网络打印机...
- 奥利给:力扣160:相交链表
- Picked up _JAVA_OPTIONS: -Xmx900M”
- 2018年网络安全大事记
- Google Earth Engine—ETOPO1是一个1弧分的地球表面全球浮雕模型,整合了陆地地形和海洋测深。它是由许多全球和区域数据集建立的。它包含两个高程带:冰面和基岩。
- Firefox 主页 被篡改为 2345主页
- 使用 YUI Compressor 批量压缩JS/CSS
热门文章
- @ControllerAdvice+@ExceptionHandler处理架构异常捕获
- COSMIC: COmmonSense knowledge for eMotion Identification in Conversations
- 什么是wrappers
- 谁有惠普V3432 for 2000的声卡驱动,,救急啊!
- 分享自己开发的Oracle DUL工具
- python文本自动伪原创_如何实现文章AI伪原创?
- 诺基亚打造智能机双平台 降低微软影响
- Android原生 通过图片检测到人脸
- 帝国cms html5 编辑器,帝国cms 7.5 utf8集成百度编辑器完美集成版
- win10分辨率不能调整_电脑显示器分辨率的调节方法,让你的电脑性能最大化