Mybatis的"#"符号和"$"符号

#是一个占位符,$是拼接符。

#会把传入的数据都当成一个字符串来处理,会在传入的数据上面加一个双引号来处理。

而$则是把传入的数据直接显示在sql语句中,不会添加双引号。

#{}和${}的区别是什么?
1. #{} 是变量值替换,${}是字符串拼接。
2. Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;
3. Mybatis在处理${}时,就是把${}替换成变量的值。
4. 使用#{}可以有效的防止SQL注入,提高系统安全性。

 

posted on 2023-04-17 20:45  HHHuskie  阅读(245)  评论(0编辑  收藏  举报

导航