java.sql.SQLException: sql injection violation 错误记录

本文介绍了在MyBatis中遇到的一个SQL错误,涉及到SpringBoot、Oracle数据库和复杂的SQL语句使用。问题在于尝试使用With子句结合Insert插入数据,由于With子句生成临时视图,MyBatis误认为是多条插入,导致报错。解决方案是去掉With子句,直接在Insert后跟Select语句,从而解决了MyBatis不允许一次插入多条的限制。
摘要由CSDN通过智能技术生成

mybatis sql 错误记录

网上有很多这个错的解释但我这个就是有点离谱!

1.找问题

①sql语句本身在数据库试一遍,再在xml试一遍,检查sql有无写错,少没少连接符,多没多杀符号
②简化sql
③查看时否配置不全

2.确定问题

我是sql除了问题,我们是mybatis+sprinboot+orcale,添加语句报错,
我写的sql用了insert 和with as 和 select连用,sql语句在数据库好使,但xml报错,问题所在是with as 是生成一个临时的视图,select 又查了一遍,所以mybatis认为一次insert插了多条,是不允许的。
最后把with as 去掉,insert 后面直接跟select from (with as 生成的视图)
就OK了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值