#{}是预编译处理,${}是字符串替换。 Mybatis在处理#{}时会将#{}替换成“?”,然后调用Prastatement的set方法来赋值,${}是会直接替换参数的值,使用#{}号传递参数可以有效的防止sql的注入,提高了系统的安全性。