将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>
相关推荐
l***217810 小时前
MySQL--》理解锁机制中的并发控制与优化策略
数据库·mysql·oracle
chenyuhao202410 小时前
MySQL索引特性
开发语言·数据库·c++·后端·mysql
5***r93511 小时前
SQL实现md5加密方法
数据库·sql
i***778011 小时前
mysql 迁移达梦数据库出现的 sql 语法问题 以及迁移方案
数据库·sql·mysql
5***E68511 小时前
mysql重置root密码(适用于5.7和8.0)
数据库·mysql·adb
q***697711 小时前
使用 Qt 插件和 SQLCipher 实现 SQLite 数据库加密与解密
数据库·qt·sqlite
t***821111 小时前
【Oracle11g SQL详解】日期和时间函数:SYSDATE、TO_DATE、TO_CHAR 等
数据库·sql
Fantasy丶夜雨笙歌11 小时前
SQL综合实战:从基础约束到高级应用的完整指南
数据库·sql
T***742511 小时前
redis连接服务
数据库·redis·bootstrap
蜡笔小炘11 小时前
Mysql 结课项目报告
数据库·adb