mybatis 动态表名的传参问题,花了好长时间都没解决

qq_29598869 2020-06-14 12:01:25
mybatis在实现动态表名传参时,可以使用${tableName}来实现,但这会发生sql注入的问题。而我们如果使用#{tableName}又会多出引号,造成sql出错。 针对动态表名传参问题有大佬有解决方案的?
...全文
322 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
li905663280 2020-06-14
  • 打赏
  • 举报
回复
${tableName} 可以用这个来实现。自己对参数进行过滤呢。不允许有特殊符号做为tableName参数的值就可以了。
li905663280 2020-06-14
  • 打赏
  • 举报
回复
直接写个Mybatis插件 把sql语句中 tableName替换了行不行。。
li905663280 2020-06-14
  • 打赏
  • 举报
回复
你们准备怎么处理?1.直接全部拆分了吧。。
qq_29598869 2020-06-14
  • 打赏
  • 举报
回复
引用 2 楼 li905663280 的回复:
${tableName} 可以用这个来实现。自己对参数进行过滤呢。不允许有特殊符号做为tableName参数的值就可以了。
这个在实际中应该能算个备选方案,但是lz目前遇到的是漏洞检测报告反馈的sql注入问题,它扫描的是mybatis配置文件中的${}变量
sytwan555 2021-12-22
  • 举报
回复
@qq_29598869 想知道楼主最终怎么解决的

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧