mybatis 表名做为参数

mybatis传递参数有两种方式

  • #{param} 这种传递的是带双引号的变量

  • ${param} 这种传滴的是字面量

比如 tab = tb_user

select * from #{tab}
复制代码

就会被解释成

select * from 'tb_user'
复制代码

这样肯定是不对的,sql语句中的表不应该加双引号 所以应该写成

select * from ${tab}
复制代码

${}会直接翻译不加引号,就会解释成正确的sql语句

select * from tb_user
复制代码