确认
当前程序版本
3.5.10.1
问题描述
- 使用SqlRunner.db().insert 或者 update 的value中含有单引号会报错;如果使用BaseMapper中的insert 和update 则正常。
- 报错原因:没有转义。
- 程序没有硬拼Sql,而是使用的{0},{1}这种占位符,期望-使用占位符传参应该与Xml中使用#{var}这种逻辑一致;
详细堆栈日志
错误见图片;
Comment From: yuanyp
查询也一样会报错,示例代码如下:
Comment From: nieqiurong
这硬拼出来的sql执行是会有这个问题,但本身的执行sql其实拿到数据库里是正常能执行的,如果要改成兼容mybatis的参数传递话,得可能需要加工一层.
Comment From: yuanyp
没有硬拼sql,都是用的参数 {0} ,第二张图有测试代码;
Comment From: yuanyp
@nieqiurong
Comment From: nieqiurong
我说的是框架代码里的,不是你拼的
Comment From: yuanyp
okok,希望纳入修改啊。
Comment From: nieqiurong
先待定把,看要不要这么改