0
点赞
收藏
分享

微信扫一扫

mybatis动态指定表名注意点

彪悍的鼹鼠 2022-04-14 阅读 120
后端

须知:${}和#{}区别

  • ${}为早期使用的,不能防止sql注入。

  • #{}为现在使用的,是可以防止sql注入。

  • 能尽量使用#{}则使用#{},少使用${}。

注意点描述:

我们如果在xml中动态指定表名时,以#{}方式获取,那么sql语句中的表名会有引号,会报出sql错误。

我们可以添加一个如下所示的参数来去掉#{}带来的引号

其参数的说明可以参考下面内容 

 如果我们使用了上述方法,那么我们就不能使用#{}了,只能使用${}方式,不然无法进行参数拼接。

${xxxx}:$将传入的数据直接显示生成在sql中,对于字符串数据,需要手动加上引号。

这时,如果我们还进行了其他传参,那么我们还需要进行其他处理,其具体的操作可以参考以下链接:

Mybatis动态sql的动态表名问题 - 百度文库

若上述记录有误,欢迎指出,一起学习。

 

 

举报

相关推荐

0 条评论