MyBatis的#和$区别

1.#会将传入的数据解析成一个字符串,自动添加上双引号,$会将传入的数据直接显示在Sql语句中

如:select name,age from t_user where id = #{userId},传入参数111,则将sql解析为

select name,age from t_user where id = “111”

select name,age from t_user where id = ${userId},传入参数111,则将sql解析为

select name,age from t_user where id = 111

2.#能够防止sql注入,$没法防止sql注入

3.$一般用于传入数据库对象,如数据库表名

4.能用#时,一般不用$


你可能感兴趣的:(mysql)