出自:https://blog.csdn.net/siwuxie095/article/details/79190856
1、在MyBatis 的映射配置文件中,动态传递参数有两种方式:
(1)#{} 占位符
(2){} 的区别
(1)
1)#{} 为参数占位符 ?,即sql 预编译
2){}:动态解析 -> 编译 -> 执行
(3)
1)#{} 的变量替换是在DBMS 中
2){} 对应的变量不会加上单引号 ''
(5)
1)#{} 能防止sql 注入
2)${} 不能防止sql 注入
3、#{} 和 {}:select * from t_user where uid= '{}:select * from t_user where uid= '1'
(3)最后
1)#{}:select * from t_user where uid= '1'
2)${}:select * from t_user where uid= '1'
// 博客原文内容没有全部复制
5、#{} 和 {}
(3)表名作参数时,必须用 {tableName}
(4)order by 时,必须用 {columnName}
(5)使用 {} 和 '${}'
网友评论