mysql Mybatis井号#与$的区别

mysql Mybatis井号#与$的区别,第1张

     mybatis中使用ParameterType向sql语句传参,在sql语句中引用这些参数的时候,有两种方式:#parameterName, $parameterName。

1, #是一个占位符,$是拼接符。

  #是一个占位符,$是拼接符。

(1) 使用#parameterName方式引用参数的时候,Mybatis会把传入的参数当成是一个字符串,自动添加双引号。

(2)使用$parameterName引用参数时,不做任何处理,直接将值拼接在sql语句中。

2,使用 # 能够防止sql注入,$不能避免注入攻击。

     #的方式引用参数,mybatis会先对sql语句进行预编译,然后再引用值,能够有效防止sql注入,提高安全性。$的方式引用参数,sql语句不进行预编译。

3 ,总结 

   建议使用# 。

delimiter是mysql分隔符,在mysql客户端中分隔符默认是分号。delimiter$意思是设置了$作为分隔符,即执行mysql语句的时候以$作为结束的标志。一般使用完delimiter设置其他分隔符之后,需要重新设置回默认分隔符,命令:delimiter


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6140646.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存