mybatis中的#和$的区别 以及 防止sql注入
1个回答
展开全部
#和$的区别如下:
#号表示参数,$代表一个字符串。如:
select a,b,c from table1 where id=#value#,传入参数后如:value="1"
select a,b,c from table1 where city like '%$value$%',传入参数后:
value="berg",则可生成:elect a,b,c from table1 where city like
'%berg%'.
#{} 会使用 PreparedStatement,变量处用 ? 代替。
在能使用 #{} 尽量使用它吧,可以防止sql注入。
#号表示参数,$代表一个字符串。如:
select a,b,c from table1 where id=#value#,传入参数后如:value="1"
select a,b,c from table1 where city like '%$value$%',传入参数后:
value="berg",则可生成:elect a,b,c from table1 where city like
'%berg%'.
#{} 会使用 PreparedStatement,变量处用 ? 代替。
在能使用 #{} 尽量使用它吧,可以防止sql注入。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询