mapper

- mybatis

- jpa

- jdbc template

- hibernate

  1. #{} 获取参数时, 支持索引获取, param 1 , 获取指定位置参数, 并且使用SQL ? 占位符;

  2. ${} 获取参数时, 字符串拼接不使用 ? , 默认找 ${ 内容} 的get/set 方法, 如果是一个数字 那么就是一个数字;

  • .mybatis之分页插件的使用 https://www.jianshu.com/p/c70722f55d74

最好是能用#{}则用它,因为它可以防止sql注入,且是预编译的,在需要原样输出时才使用${},如,

select *
from ${tableName} order by ${id} 
-- 这里需要传入表名和按照哪个列进行排序 ,加入传入table1、id 则语句为:
select * from table1 order by id

-- 如果是使用#{} 则变成了
select * from 'table1' order by 'id' 
--- 这样就不对了。