#是预编译处理

$是字符串替换

MyBatis在处理#时会将SQL中的#替换为?号,调用了PreparedStatement的set()方法来赋值

MyBatis在处理$时,就把$替换成变量的值

因此使用#号符可以有效的防止SQL注入,提高系统的安全性.