insert的语句中有”'“的解决办法

场景是这样的,有一个出库的报表和在库的报表,客户想把这两个报表查出俩的数据原封不动的放到一个中间库中去,方便其他人查询用。 我这里是懒得使用双数据源,就直接使用的jdbc把查出俩的数据插入到中间库去

sql就直接使用的stringbuilder拼接的

其实实现的也挺简单的,就是一个定时任务,去查询新的数据,然后通过这个jdbc往数据库插入数据。我一看这个数据库里面有数据了,就没有管了。

本来以为这玩意儿轻轻松松就完成了。

但是但是,每次我以为我行了的时候,生活总要给我迎头痛击。

一堆警告摧的我头皮发麻,然后我去看了一下日志

搞不懂他们是业务们输入的数据,居然回推送这种垃圾数据过来,里面居然有单引号"'" 这直接导致我的凭借的sql失效了

本来想直接跟客户说,你们的数据有问题,我插入不了数据库,这没办法搞了。谁知道客户直接火了,抓着我一顿狂屌"说好的今天完成,你现在跟我说搞不了?我不管你怎么弄,反正你要给我搞完,你们一开始接口都能接进来,那现在肯定可以插入到中间表。"

没办法,作为一个合格的牛马只能给钱的说是啥就是啥,还要玩命道歉,道歉这事我干的可比我的代码牛逼多了。不过我当时心里唯一的念头就是"我淦,你他喵这次说的还真有点道理"。

照理来讲能接到接口表,那么搞到中间表应该也没有问题,只不过接到接口表用的是mybatis。当我准备开配置双数据源,然后用mybatis的时候,甲方又过来了,他说多了引号,你能不能想办法把他去掉,或者多加一个就凑成一对了嘛,这样就好了。

我当时被震惊了,这话说的又他 喵 的让我觉得很有道理,要不是我知道他只是甲方的一个业务,连sql都不会写。我都要怀疑她是不是隐藏的技术大佬。多亏了他的提示我想到了可以把一个单引号,替换成一个双引号,这样就不会报错了。然后就使用了字符串的replaceAll()的方法,把他的单引号换掉了

然后结果完美

相关推荐
独孤九剑打醒他6 小时前
双层Master-Worker软硬协同调度架构:从根源解决分布式数据一致性难题
后端·嵌入式硬件·硬件架构·硬件工程
不会c+7 小时前
02-SpringBoot配置文件
java·spring boot·后端
雨辰AI8 小时前
生产级实战:人大金仓 V9 标准化运维手册(日常巡检 + 监控告警 + 应急处置)
java·运维·数据库·后端
TeamDev9 小时前
JxBrowser 9.3.0 版本发布啦!
java·后端·c#·混合应用·jxbrowser·浏览器控件·异步媒体设备
陈随易9 小时前
Rust、Golang、MoonBit 编译成 WASM,体积和速度差距有多大?
前端·后端·程序员
IT_陈寒9 小时前
Python多线程的坑,我居然现在才踩到
前端·人工智能·后端
魏祖潇10 小时前
DDD 完整指南——AI 时代工程师的第一道秩序分水岭
人工智能·后端
im_lanny10 小时前
如何给 Agent 打造“最强大脑“?深度解析短期记忆与长期记忆的分层设计
后端
Fanta丶10 小时前
2.Activiti表结构介绍 类关系
后端
触底反弹10 小时前
AI Tool Use 深度解析:大模型是如何"突破物理限制"调用外部工具的?
javascript·人工智能·后端