将JSON的格式数据存储到数据库中

将JSON的格式数据存储到数据库中,在一些业务中需要存储一个设备的一些属性。比如 这样以键值对出现的形式,存储在数据库中。我们可以以JSON的格式存储。

数据库字段设计的时候选择JSON类型的。

对于需要存储的内容用Map集合进行存储

java 复制代码
Map<String, Object> jsonData = new HashMap<>();
for (int i = 0; i < attributes.size(); i++) {
    Attribute att = attributes.get(i);
    jsonData.put(att.getAttrKey(),att.getAttrValue());
}

使用FastJson将map转为JSON的字符串。然后插入到数据库中就可以了。

java 复制代码
String  json = (String) JSONObject.toJSONString(jsonData);

mapper.xml中的语句

java 复制代码
  <insert id="insertBatchRows" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
        insert into tb_voice_raw (device_id, device_type, raw_data_path, status, created_at, voice_name, source,parameters)
        values
        <foreach item="item" index="index" collection="list" separator=",">
            (#{item.deviceId}, #{item.deviceType}, #{item.rawDataPath}, #{item.status}, #{item.createdAt}, #{item.voiceName}, #{item.source},#{item.paramsAsJson})
        </foreach>
    </insert>
相关推荐
大锦终10 分钟前
【MySQL】视图+用户管理
数据库·mysql
一位代码11 分钟前
mysql | 数据表中列(字段)的添加、修改和删除
数据库·mysql
水坚石青12 分钟前
Java+Swing+Mysql实现物业管理系统
java·开发语言·数据库·mysql·swing
GanGuaGua14 分钟前
MySQL:内置函数
数据库·mysql·oracle
一位代码15 分钟前
mysql | limit 用法详解及注意事项
数据库·mysql
Li_76953226 分钟前
Redis —— (四)
数据库·redis
星哥说事1 小时前
告警通知方式:邮件、短信、Slack、钉钉等告警通知方式的配置
数据库·钉钉
张人玉1 小时前
c#常用的类
服务器·数据库·c#
IT 行者1 小时前
Spring Security 7.0 迁移指南
java·数据库·spring
联系QQ 180809511 小时前
基于SVPWM改进的异步电机/感应电机直接转矩控制:解决传统DTC转矩纹波大的问题“ 参考文...
json