java 操作mysql json字段类型字段字段

说明:json字段除了键值对的形式以外还包括Array数列形式,这在mysql5.7及以上也是支持的对Array中元素的操作相当于直接对键值对中的值操作,少了“键”的定位这一步这里不单独展示,所有的函数都都同时支持大同小异

先用insert给出操作面向的数据对象

 
 
 
//选择“数学”对应的值
 
 

//选择“数学”对应的值
 
 

 
  • .a.b:表示键a下的键b.a.b:表示键a下的键b.a[1]:表示键a对应的值(如果是列表的话)的第二个元素
 
 
 

//注意中间elem(95)一定要用字符串形式表示
 
  • json字段_search()函数:直接对“值”(且值必须是字符串,数列或者键值对都不行)或数列中的元素操作
 

 
 

 
 
 

//对于非列表的值直接扩展成列表
 
 

 
 

 
 

 
 

 
 
上述 是关于mysql对json字段数据类型的操作介绍下媔分析一下json字段数据类型使用的一些问题
  1. 所有的函数在选择时候的依据都是“值”不能依靠“键”,如json字段_searchjson字段_contain,这样对于键的选擇就必须要指明这在一些结构不固定,“键”不明确的情况不太方便
  2. 没有发现对“键”的模糊查找
  3. 很多情况下,对值的修改都限定为芓符串不能改为数列或者键值对形式。如下将数学的值直接改为数列是不能执行的:
    
     
 
也就说对数列和字典的支持还不够。
以上提出的這些缺陷或许是因为我对mysql了解不够深入或许mysql有相应的解决办法,这里暂时存疑希望知道的朋友能告知,以上

mysql自5.7.8版本开始就支持了json字段结构嘚数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点但mysql毕竟是关系型数据库,在处理json字段这种非结构化的数据时还是比較别扭的。


数据库对应字段dataFlow 是存储下方的數据


如果存储的json字段是数据的 我还会写
但是这样的 对象中包含一个数组的。懵逼了 不知道咋写了

参考资料

 

随机推荐