mybatis传递参数有两种方式
#{param}
这种传递的是带双引号的变量${param}
这种传滴的是字面量
比如 tab = tb_user
select * from #{tab}
就会被解释成
select * from 'tb_user'
这样肯定是不对的,sql语句中的表不应该加双引号 所以应该写成
select * from ${tab}
${}会直接翻译不加引号,就会解释成正确的sql语句
select * from tb_user
#{param}
这种传递的是带双引号的变量${param}
这种传滴的是字面量比如 tab = tb_user
select * from #{tab}
就会被解释成
select * from 'tb_user'
这样肯定是不对的,sql语句中的表不应该加双引号 所以应该写成
select * from ${tab}
${}会直接翻译不加引号,就会解释成正确的sql语句
select * from tb_user