#{} 和 ${}的区别

#{} 和 ${}的区别

区别:

1. #是占位符, 会对SQL进行预编译,相当于?; $是做sql拼接, 有SQL注入的隐患
2. #不需要关注数据类型, MyBatis自动实现数据类型转换; ${} 必须自己判断数据类型

联系:
两者都支持@param注解, 指定参数名称, 获取参数值. 推荐这种方式

一般做参数传递,都会使用#{}

如果不是做预编译,而是做拼接sql, 会使用${}, 例如表名称的变化

猜你喜欢

转载自blog.csdn.net/OYziqing/article/details/83304603
今日推荐