【MyBatis】学习笔记010--#{}与¥{}的区别

经常碰到这样的面试题目:#{}和${}的区别是什么?
 
网上的答案是:#{}是预编译处理,$ {}是字符串替换。

mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;

mybatis在处理 $ { } 时,就是把 ${ } 替换成变量的值。

使用 #{} 可以有效的防止SQL注入,提高系统安全性。

posted @ 2021-01-27 16:40  AirCL  阅读(462)  评论(0编辑  收藏  举报