1.两种SQL传参
在JDBC中传参数有2中,支持参数化和预编译的PrepareStatement,支持原生的Sql和设置占位符的方式,参数化输入的参数,有效的防止Sql注入;有Sql注入风险的Statement。
2.预编译的#
在Mybatis中,传递参数一般使用#{value}形式,框架会自动创建预编译的语句,可以有效防止Sql的注入。
3.拼接的$
有时需要传递的只是语句本身而不是sql所需的参数,比如动态表格,传递的列名等,可以使用${}。这时Mybatis将不会转译sql,只是简单的sql语句。