#{}与${}
#{}与${}
1、#{}:表示占位符?,可以有效防止sql注入。使用#{}设置参数无需考虑参数的类型。PreparedStatement
2、${}:表示拼接符,无法防止sql注入。使用${}设置参数必须考虑参数的类型。Statement
3、传递简单类型参数
a、如果获取简单类型参数,#{}中可以使用value或其他名称。
b、如果获取简单类型参数,${}中只能使用value。
注意引号的引入
select * from tbl_student where id = '${value}'
4、没有特殊情况下,通常使用#{}占位符
5、有些情况必须使用${},
比如:需要动态拼接表名,select * from ${tablename},
比如:动态拼接排序字段:select * from tablename order by ${username} desc

浙公网安备 33010602011771号