把表名作为参数进行的查询
1.介绍mybatis中${}和#{}的用法差异
动态SQL是mybatis的强大特性之一,mybatis在对sql语句进行预编译之前,会对sql进行动态解析,解析为一个BoundSql对象,也是在此处对动态sql进行处理。下面让我们先来熟悉下mybatis里#{}与${}的用法:
在动态sql解析过程,#{}与${}的效果是不一样的:
#{ } 解析为一个 JDBC 预编译语句(prepared statement)的参数标记符。
如以下sql语句
select * from user where name = #{
name};
会被解析为:
select * from user where name = ?;
当我们传递参数“lemon”时,sql会解析为: