在MyBatis, 写sql语句, 用#还是$, 有什么区别?两者都是占位符,1. #{} 会将传入的值替换为 ?, 为了防止sql注入2. ${} 会直接传入值, 存在sql注入问题因此,一般用# 传参数。那么是不是$就没用处? 在有的场合有用,当传递的列名 或表名是动态的,就要用到$, 例如下图所示: