- mybatis 为我们提供了两种支持动态 sql 的语法:#{} 以及 ${};两者都是动态的向sql语句中传入需要的参数。
- #传入的参数在SQL中显示为字符串,#方式能够很大程度防止sql注入;$传入的参数在SqL中直接显示为传入的值,$方式无法防止Sql注入。
- #传入的参数在SQL中显示为字符串(当成一个字符串),会对自动传入的数据加一个双引号。
select id,name from t_article where name =#{name}
当我们传递的参数name为 "li" 时 ,name解析为:" li ",是个字符串。
- $传入的参数在SqL中直接显示为传入的值
select id,name from t_article where id =${id}
当我们传递的参数id为 "1" 时 ,id解析为:1,是变量的值。