#{}:
1、 是预编译
2、 编译成占位符
3、 可以防止sql注入
4、 自动判断数据类型
5、 一个参数时,可以使用任意参数名称进行接收
${}:
1、 非预编译
2、 sql的直接拼接
3、 不能防止sql注入
4、 需要判断数据类型,如果是字符串,需要手动添加引号。
5、 一个参数时,参数名称必须是value,才能接收参数。
mybatis框架中 #和$传递参数的区别 和注意
原文:https://www.cnblogs.com/yirgaMonkey/p/9219683.html