0x00 Mybatis框架
#
的$
的区别
#
号会点语句进行预编译${ }
只是进行string 替换,动态解析SQL的时候会进行变量替换
0x01 预编译一些场景下的局限
- 表名作为变量时,需使用拼接
select * from `user`
select * from 'user' #报错,表名不能使用单引号
- order by后需要使用拼接
select * from user order by name
select * from user order by 'name' # 语义发生改变,没有排序的效果了