今天看到网上讨论 mybatis #和$的区别
1、区别
1)#{}相当于jdbc中的preparedstatement
#{}是经过预编译的,是安全的,而${}是未经过预编译的,仅仅是取变量的值,是非安全的,存在sql注入.
2)${}是输出变量的值
${}的情况,order by是肯定只能用${}了,用#{}会多个' '导致sql语句失效.此外还有一个like 语句后也需要用${}2、order by后面如果采用预编译的形式动态输入参数,那么实际插入的参数是一个字符串,例子中是:order by 'domain_id'
看到这些讲解后,有一个疑惑,为什么limit 用#{} 可以? 烦请高手讲解