
1, #是一个占位符,$是拼接符。
#是一个占位符,$是拼接符。
(1) 使用#parameterName方式引用参数的时候,Mybatis会把传入的参数当成是一个字符串,自动添加双引号。
(2)使用$parameterName引用参数时,不做任何处理,直接将值拼接在sql语句中。
2,使用 # 能够防止sql注入,$不能避免注入攻击。
#的方式引用参数,mybatis会先对sql语句进行预编译,然后再引用值,能够有效防止sql注入,提高安全性。$的方式引用参数,sql语句不进行预编译。
3 ,总结
建议使用# 。
delimiter就是告诉mysql解释器,该段命令是否已经结束了,是否可以执行了。默认情况下,delimiter是分号,遇到分号就执行。
后面的双美元符号 就是告诉mysql,遇到双美元符号再执行
花括号,花括号中既可以输出简单变量,也可以输出复杂变量,如数组、对象等;1.$a = 'abcd'2.$b = array('aaa' =>'abcd', 'bbb' =>array(12,34))3.echo "{$a}" // 输出 abcd4.echo "{$b['aaa']}" // 输出 abcd5.echo "{$b['bbb'][1]}" // 输出 34 所以写的时候想偷懒就用花括号,不会出错;但是在性能上,单引号的性能最好,因为单引号中的内容会直接被当成字符串,没其他的解析;而解析双引号的时候,会先判断双引号内有没有变量,有变量就把变量用变量值代替,最后再输出双引号内整个的内容;花括号就更不用说了,可以输出复杂的变量内容。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)