Mybatis 中$与#的区别
#是将传入的值当做字符串的形式,比如传的都是1,这边sql是 select * from t_user where id= '1';
$是将传入的数据直接显示生成sql语句,这边sql是 select * from t_user where id= 1;
使用#可以很大程度防止sql注入
$一般用于传入数据库对象,例如数据库表名
like语句在什么情况下会匹配到索引
like keyword% 索引有效。
like %keyword 和 like %keyword% 索引是无效的
但是like %keyword可以用反转索引 ,例如 select * from t_user where reverse(name) like reverse('%abc'); 这样也是可以匹配到索引的。