0
点赞
收藏
分享

微信扫一扫

Java预编译一些场景下的局限.md

妖妖妈 2022-03-12 阅读 54

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' # 语义发生改变,没有排序的效果了 

0x02 之前有听人说order by后面的语句是不会参与预编译?

0x03 为什么预编译能让传入的数据只能是数据,它的底层原理是怎样的?

举报

相关推荐

0 条评论