mybatis的xml文件中#{}和${}有什么区别和不同呢?
下文笔者讲述mybatis的mapper.xml文件中#{}和${}的区别,如下所示:
#{}和${}区别: 两者在功能上完全不同, ${}是字符串替换 #{}是预处理 ----------------------------------------------------- 使用#{}可以有效的防止SQL注入,提高系统安全性 -----------------------------------------------------
#{}和${}处理原理上
Mybatis处理${}时 其原理为:将${}直接替换成变量的值 Mybatis在处理#{}时 其原理为:对sql语句进行预处理 将sql中的#{}替换为?号 然后调用PreparedStatement的set方法来赋值
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。