简单地说,#{}是预处理编译,${}是字符串替换。
mybatis在处理#{}时,会调用PreparedStatement的set方法来赋值,防止SQL注入问题;
在处理${}时,只是简单地字符串替换。一般在SQL的模糊查询使用${}。
能用#{}都要用#{},防止SQL注入,安全性更高。
简单地说,#{}是预处理编译,${}是字符串替换。
mybatis在处理#{}时,会调用PreparedStatement的set方法来赋值,防止SQL注入问题;
在处理${}时,只是简单地字符串替换。一般在SQL的模糊查询使用${}。
能用#{}都要用#{},防止SQL注入,安全性更高。