Mybatis
预防 sql 注入问题
mybatis 使用 #{}
而不是 ${}
可以很大程度预防 sql 注入,因为:
#{}
是一个参数占位符,对于字符串类型,会自动加上 "",其他类型不加。由于 Mybatis 采用预编译,其后的参数不会再进行 SQL 编译,所以一定程度上防止 SQL 注入。${}
是一个简单的字符串替换,字符串是什么,就会解析成什么,存在 SQL 注入风险
Mybatis
预防 sql 注入问题
mybatis 使用 #{}
而不是 ${}
可以很大程度预防 sql 注入,因为:
#{}
是一个参数占位符,对于字符串类型,会自动加上 "",其他类型不加。由于 Mybatis 采用预编译,其后的参数不会再进行 SQL 编译,所以一定程度上防止 SQL 注入。${}
是一个简单的字符串替换,字符串是什么,就会解析成什么,存在 SQL 注入风险