mybatis中Mapper.xml文件sql语句中#{ }和${ }的区别

tech2025-08-16  11

1.#{ }是把传入的值当作字符串的形式 

select id,name,age from student where id =#{id}, 当id传入的值是1时,传入后台就相当于 select id,name,age from student where id ='1'。

2.${ } 是传入的数据直接显示生成sql语句,

select id,name,age from student where id =${id},     当前端把id值1,传入到后台的时候,就相当于 select id,name,age from student where id = 1.

 

3. #{ } 能在一定程度上防止sql注入,sql注入就是防止传入的数据发生拼接修改,比如加上1=1,就是恒成立了。

在大多数的情况下还是经常使用的#{ }的。

最新回复(0)