mybatis mapper.xml将表明 列名 通过参数传递 mybatis动态sql,所以参数如果就是执行sql 语句可以是 ${sql}
原文链接:https://www.cnblogs.com/ychun/p/16532042.html
在传入“表名”时,要使用${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>