使用Mybatisforeach循环添加字段和值失败问题记录

问题描述:

由于数据表字段非常多,使用foreach循环,key为数据库字段,value为要添加的值.字段中含有小数点的无法正常添加数据

问题展示:

断点展示有值

日志展示获取不到值

sql如下:

    <insert id="dataMergeInsert" parameterType="java.util.List">
        INSERT INTO ${table}
        <foreach collection="params.keys" item="key" open="(" separator="," close=")">
           `${key}`
        </foreach>
        values
        <foreach collection="params.keys" item="key" open="(" separator="," close=")">
            #{params[${key}]}
        </foreach>
    </insert>
    /**
     * 数据新增
     * @param table 表名
     * @param jsonObject key 字段名 value 数据
     */
   void dataMergeInsert(@Param("table") String table,@Param("params") JSONObject jsonObject);

问题解决:

直接将新增的sq拼接好去执行,解决字段不能正确识别,获取值失败的问题

注(反引号非常重要)

    public void insertVariableData(JSONObject jsonObject) throws SQLException {
        Connection connection = DriverManager.getConnection(url, username, password);
        Statement stat = connection.createStatement();
        //拼接数据表名
        String tableName = variableDateTable + jsonObject.getString("unit_id");
        String body = null;
        String end = null;
        //获取数据长度,进行循环,创建新增语句
        for (String key : jsonObject.keySet()) {
            if ("unit_id".equals(key)) {
                body = "`" + key + "`";
                end = "'" +jsonObject.getString(key) + "'";
            } else {
                body += ",`" + key + "`";
                end += ",'" + jsonObject.getString(key)+ "'";
            }
        }
        try {
            String head = "insert into " + tableName + "(" + body + ")values(" + end + ")";
            //执行sql,增加数据
            stat.executeUpdate(head);
        } catch (SQLException e) {
            e.printStackTrace();

        }
        //释放资源
        stat.close();
        connection.close();
    }


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/554534.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

gemini国内怎么用

gemini国内怎么用 Google Gemini 作为一个尚处于研发阶段的大型语言模型&#xff0c;其具体功能和性能尚未公开&#xff0c;因此无法对其好用程度做出明确评价。 然而&#xff0c;基于 Google 在人工智能领域的领先地位和技术实力&#xff0c;我们可以对其潜力进行一些推测&a…

科技云报道:“老三样”不管用了,网络安全要靠啥?

科技云报道原创。 从安全的视角看&#xff0c;网络空间充斥着病毒、黑客、漏洞。在过去&#xff0c;企业习惯用“老三样”——防火墙、IDS、杀毒软件来搞定安全。 如果将网络空间比喻成一个大厦&#xff0c;那么防火墙相当于门锁&#xff0c;用于隔离内外网或不同安全域&…

【MySQL 数据宝典】【内存结构】- 004 自适应哈希索引

自适应哈希索引 https://developer.aliyun.com/article/1230086 什么是自适应哈希索引&#xff1f; 自适应哈希索引是MySQL InnoDB存储引擎中的一种索引结构&#xff0c;用于加速查询。它根据查询模式和数据分布动态地调整自身的大小&#xff0c;以提高性能。 上图就是通过…

hive使用sqoop与oracle传输数据

下载地址 http://archive.apache.org/dist/sqoop 两个版本sqoop1&#xff08;1.4.x&#xff09;和sqoop2&#xff08;1.99.x&#xff09;&#xff0c;两种不同的架构。 本文使用sqoop1。 sqoop是apache旗下一款“hadoop与关系数据库之间传送数据”的工具。 导入数据&#xf…

MES管理系统生产物料管理流程设计的注意事项

随着现代制造业的迅猛发展&#xff0c;MES管理系统在生产物料管理中所扮演的角色愈发重要。一个高效、精准的MES管理系统能够显著提升物料管理的效率&#xff0c;确保生产流程的顺畅进行。然而&#xff0c;在设计生产物料管理流程时&#xff0c;我们需要注意一系列关键问题&…

预选小标题

海岛,广东小岛 汕头 南澳岛(推荐) 距离东凤镇 500公里 珠海 需要坐船出海, 到达珠海码头 75公里 东澳岛, 桂山岛 海岛基本都差不多 阳江市海陵岛 可以赶海 距离东凤镇 240公里 江门 川岛, 下川岛 可下海 距离东凤镇 150公里 山林丹霞地貌 韶关 丹霞景区, 韶石景区,巴寨景…

【AI】DeepStream(01)介绍

1、简介 DeepStream 本质是 GStreamer 的插件,基于GStreamer的管道,实现高效的视频流分析。 DeepStream 将来自 USB/CSI 摄像头的流数据、来自文件的视频或通过 RTSP 的流作为输入,并使用人工智能和计算机视觉从像素中生成AI结果。 DeepStream SDK 可以成为许多视频分析解…

【MySQL 数据宝典】【内存结构】- 001 BufferPool

一、 BufferPool BufferPool 官方文档地址 1.1 什么是 Buffer Pool Buffer Pool 概述&#xff1a; Buffer Pool 是 InnoDB 存储引擎用于缓存磁盘中页的内存区域&#xff0c;它的大小直接影响数据库的性能。 默认大小和调整&#xff1a; 默认情况下&#xff0c;Buffer Pool…

[spring] rest api security

[spring] rest api security 之前的 rest api CRUD 都没有实现验证&#xff08;authentication&#xff09;和授权&#xff08;Authorization&#xff09;&#xff0c;这里使用 Spring security 进行补全 spring security 是一个非常灵活、可延伸的实现方式&#xff0c;比较简…

初识LangChain的快速入门指南

LangChain 概述 LangChain是一个基于大语言模型用于构建端到端语言模型应用的框架&#xff0c;它提供了一系列工具、套件和接口&#xff0c;让开发者使用语言模型来实现各种复杂的任务&#xff0c;如文本到图像的生成、文档问答、聊天机器人等。 LangChain简化了LLM应用程序生…

PostCSS概述和应用

文章目录 PostCSS概述**核心特性与工作原理&#xff1a;****应用场景与优势&#xff1a;****社区与生态&#xff1a;** PostCSS应用实例 PostCSS概述 PostCSS 是一款开源的、用 JavaScript 编写的 CSS 处理工具&#xff0c;其核心设计理念是利用 JavaScript 的强大编程能力和丰…

51-40 Align your Latents,基于LDM的高分辨率视频生成

由于数据工程、仿真测试工程&#xff0c;咱们不得不进入AIGC图片视频生成领域。兜兜转转&#xff0c;这一篇与智驾场景特别密切。23年4月&#xff0c;英伟达Nvidia联合几所大学发布了带文本条件融合、时空注意力的Video Latent Diffusion Models。提出一种基于LDM的高分辨率视…

synchronized的优化策略^o^

synchronized 特点&#xff1a; 开始是乐观锁&#xff0c;如果锁冲突&#xff0c;就转换为悲观锁开始是轻量级锁&#xff0c;如果锁被持有的时间较长&#xff0c;就转换为重量级锁实现轻量级锁的时候大概率用到的是自旋锁策略是一种不公平锁是一种可重入锁不是读写锁 synchro…

【考研数学】《1800》《660》《880》如何选择及搭配?看这一篇!

可以刷880&#xff01;但一定要把心态稳住&#xff01;&#xff01;&#xff01; 我考研的时候刷880前几章还可以&#xff0c;越往后越刷不动 因为很多人在备考前两轮的后期听课和刷题都不如前几章细心...越往后知识点掌握的越来越不熟练&#xff0c;所以也建议大家在前几轮复…

Kafka复习

消息中间件的作用: 异步处理: 与并行相比,虽然减少了时间,但是还是得等待其他线程执行完,但是消息中间件对于简单的业务处理,还要引入一个中间件也比较复杂如果我投递了简历之后需要发送成功邮件以及短信,就可以交给消息中间件就像数据库、redis数据一致性,需要用到延迟…

VScode使用记录

代码颜色是白色 发现没有根据对应的文本类型显示颜色 解决方法&#xff1a; 效果&#xff1a;

「sentinel」流量控制组件的应用

「sentinel」流量控制组件的应用 Sentinel版本QPS 一、初识Sentinel1、Sentinel2、Sentinel 和 Hystrix对比3、雪崩问题 二、环境搭建1、下载安装Sentinel2、微服务整合Sentinel 三、流量控制1、簇点链路2、流控设置3、流控模式直接关联链路 4、流控效果流控效果解释 四、热点限…

线性表的链式存储(循环链表)

文章目录 前言一、循环链表是什么&#xff1f;二、循环链表的操作实现总结 前言 T_T此专栏用于记录数据结构及算法的&#xff08;痛苦&#xff09;学习历程&#xff0c;便于日后复习&#xff08;这种事情不要啊&#xff09;。所用教材为《数据结构 C语言版 第2版》严蔚敏。有关…

Codeforces Round 939 (Div. 2) A~E

A.Nene’s Game&#xff08;循环&#xff09; 题意&#xff1a; 妮妮发明了一种基于递增序列 a 1 , a 2 , … , a k a_1,a_2,\ldots,a_k a1​,a2​,…,ak​的新游戏。 在这个游戏中&#xff0c;最初 n n n个玩家排成一排。在这个游戏的每一轮中&#xff0c;都会发生以下情况…

详解SPI通信协议以及FPGA实现

文章目录 一、SPI简介二、SPI通信结构三、多从机模式四、时钟极性&#xff08;CPOL&#xff09;和时钟相位&#xff08;CPHA&#xff09;五、SPI通信过程六、实现SPI主机发送程序6.1 波形图分析6.2 Verilog代码6.3 发送数据控制模块6.4 仿真代码编写以及仿真结果分析 七、Veril…
最新文章