Mybatis # 与 $ 符号区别
一、区别
1.不同点: 以#{}方式传入参数,预编译时,它会将sql中的#{}替换为?,然后编译sql时,会把值两端加上 双引号。有效防止sql注入,保证数据安全。
sql注入:通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
以${}方式传入参数时,字符串替换,不会把值两端加上 双引号。
2.相同点: 拼接sql语句
二、使用
1.${}获取DAO参数数据时,参数必须使用 @param注解 进行修饰或者使用 下标 或者 参数#{param}形式
2.#{}获取DAO参数数据时,假如 参数个数一个及以上可有选择的使用@param
以下:
Mybatis架构原理与六大核心
本文来自博客园,作者:手可敲星辰脚驾七彩云,转载请注明原文链接:https://www.cnblogs.com/arek/p/16576683.html,谢谢!