Doris数据库使用jdbcTemplate插入或修改的内容含有单引号的问题

10 篇文章 2 订阅
4 篇文章 0 订阅

今天遇到一个问题,做一个批量插入的功能使用jdbcTemplate.batchUpdate(String sql, List<Object[]> batchArgs);

sql是包含占位符的insert语句:insert into talbeA (id,name) values(?,?)

batchArgs是具体参数数组:{[1,'A'],[2,'B']}类似这种。

如果name的值带有单引号,类似于 I'm这种。jdbcTemplate.batchUpdate解析后的sql会将一个单引号变成两个单引号即I''m这种。最终的sql语句insert into talbeA (id,name) values(3,'I''m');

对于mysql数据库来说,这种语句是可以被执行的,由于我这里使用的库是doris数据库,这种两个单引号还是会报错的。只能用\'这种转义符。但是jdbcTemplate.batchUpdate遇到单引号就会直接变成两个,转义这个也没有用。所以最终使用jdbcTemplate.execute方法,也就是直接将sql拼接完再执行。不使用占位符的方法。

 


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值