mybatis#{}与${}的区别

Posted 岸北

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis#{}与${}的区别相关的知识,希望对你有一定的参考价值。

1、#相当于对数据 加上 单引号,$相当于直接显示数据
2、一般能用#的就别用$,首先这是为了性能考虑的,相同的预编译 sql 可以重复利用。使用#也可以有效防止SQL注入。
3、#{ } 被解析为一个参数占位符 ? ,${ } 仅仅为一个纯碎的 string 替换,在动态 SQL 解析阶段将会进行变量替换。
4、表名作为变量时,必须使用 ${ },使用#{} sql 占位符替换字符串时会带上单引号 \'\',这会导致 sql 语法错误
5、${}基本类型只能是${value}

分享几篇写个比较好的:
https://www.cnblogs.com/sibuhuigai/p/10646427.html
https://blog.csdn.net/u013552450/article/details/72528498/

以上是关于mybatis#{}与${}的区别的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate与Mybatis的区别

面试 Ibatis与mybatis区别

mybatis与hibernate的区别

mybatis 中 $ 与 # 的区别

mybatis与hibernate的相同点与区别

Mybatis:#与$区别