Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[错误报告]: MybatisPlus SqlRunner.db() 新增、修改、查询Sql的参数中有单引号报错问题,而直接使用mybatis的SqlRunner就正常。 #6666

Open
3 tasks done
yuanyp opened this issue Jan 14, 2025 · 7 comments

Comments

@yuanyp
Copy link

yuanyp commented Jan 14, 2025

确认

  • 我使用的版本是最新版, 并且使用插件确认过项目里无依赖版本冲突
  • 我已经在 issue 中搜索过, 确认问题没有被提出过
  • 我已经修改标题, 将标题中的 描述 替换为遇到的问题

当前程序版本

3.5.10.1

问题描述

  • 使用SqlRunner.db().insert 或者 update 的value中含有单引号会报错;如果使用BaseMapper中的insert 和update 则正常。
  • 报错原因:没有转义。
  • 程序没有硬拼Sql,而是使用的{0},{1}这种占位符,期望-使用占位符传参应该与Xml中使用#{var}这种逻辑一致;

微信图片_20250114145231

详细堆栈日志

错误见图片;
@yuanyp
Copy link
Author

yuanyp commented Jan 14, 2025

查询也一样会报错,示例代码如下:
微信图片_20250114153556

@yuanyp yuanyp changed the title [错误报告]: SqlRunner 新增、修改Sql的参数中有单引号报错问题; [错误报告]: SqlRunner 新增、修改、查询Sql的参数中有单引号报错问题,而直接使用mybatis的SqlRunner就正常。 Jan 14, 2025
@yuanyp yuanyp changed the title [错误报告]: SqlRunner 新增、修改、查询Sql的参数中有单引号报错问题,而直接使用mybatis的SqlRunner就正常。 [错误报告]: MybatisPlugs SqlRunner.db() 新增、修改、查询Sql的参数中有单引号报错问题,而直接使用mybatis的SqlRunner就正常。 Jan 14, 2025
@yuanyp yuanyp changed the title [错误报告]: MybatisPlugs SqlRunner.db() 新增、修改、查询Sql的参数中有单引号报错问题,而直接使用mybatis的SqlRunner就正常。 [错误报告]: MybatisPlus SqlRunner.db() 新增、修改、查询Sql的参数中有单引号报错问题,而直接使用mybatis的SqlRunner就正常。 Jan 14, 2025
@nieqiurong
Copy link
Contributor

这硬拼出来的sql执行是会有这个问题,但本身的执行sql其实拿到数据库里是正常能执行的,如果要改成兼容mybatis的参数传递话,得可能需要加工一层.

@yuanyp
Copy link
Author

yuanyp commented Jan 14, 2025

没有硬拼sql,都是用的参数 {0} ,第二张图有测试代码;

@yuanyp
Copy link
Author

yuanyp commented Jan 14, 2025

@nieqiurong

@nieqiurong
Copy link
Contributor

我说的是框架代码里的,不是你拼的

@yuanyp
Copy link
Author

yuanyp commented Jan 14, 2025

okok,希望纳入修改啊。

@nieqiurong
Copy link
Contributor

先待定把,看要不要这么改
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants