在传入“表名”时,要使用${tableName},不能用#{tableName}
- #{ }被解析为参数时,占位符是 “?” , 在运行时会报异常,无法解析。
- ${ } 仅仅为一个纯粹的字符串(String)替换,在动态 SQL 解析阶段将会进行变量替换。
<!-- 根据条件查询数据 -->
<select id="queryAllByDate" resultMap="BaseResultMap" >
select * from system_users where ${targetData} like #{queryData}
</select>
List</span><SystemUsers> queryAllByDate(@Param(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">targetData</span><span style="color: rgba(128, 0, 0, 1)">"</span>)String targetData,@Param(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">queryData</span><span style="color: rgba(128, 0, 0, 1)">"</span>)String queryData);</pre>