相同点: 两者都是动态的向SQL中传入需要的参数 不同点: #{}传入的参数在SQL中预处理阶段替换为?,而${}传入的参数直接被替换为传入的值#{}传入的值会被处理,而${}传入的值不会被处理,容易被SQL注入,有安全风险,适用于简单的SQL拼接#{}传入的值带引号,${}传入的值不带引号 使用场合: #{}通常用于mybatis传值的默认配置${}通常用于传入非变量部分的数据库对象,例如分组字段、排序字段、表名