码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis(#和$的区别)

时间:2019-08-31 19:11:59      阅读:60      评论:0      收藏:0      [点我收藏+]

标签:bat   where   size   bsp   mil   style   select   情况下   dstat   

1 #是将传入的值当做字符串的形式,eg:select id,name,age from student where id =#{id},当前端把id值1,传入到后台的时候,就相当于 select id,name,age from student where id =‘1‘.

 2 $是将传入的数据直接显示生成sql语句,eg:select id,name,age from student where id =${id},当前端把id值1,传入到后台的时候,就相当于 select id,name,age from student where id = 1.

 3 使用#可以很大程度上防止sql注入。(语句的拼接  #{xxx},使用的是PreparedStatement,会有类型转换,比较安全 简单的说就是#{}是经过预编译的,是安全的,${}是未经过预编译的,仅仅是取变量的值,是非安全的,存在SQL注入。)

 4 但是如果使用在order by 中就需要使用 $.

 5 在大多数情况下还是经常使用#,但在不同情况下必须使用$. 

mybatis(#和$的区别)

标签:bat   where   size   bsp   mil   style   select   情况下   dstat   

原文地址:https://www.cnblogs.com/zfyyfw/p/11440056.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!