要实现mybatis 动态传入表名、列名,sql里的属有变量取值都改成${xxxx},而不是#{xxx}。
例如:
java代码:
String url="https://uat.fcsc.com/group1/M00/00/60/CuDJ1WBOzBWAP27uAAAh-f45_b4213.jpg";
Map<String, Object> map = new HashMap();
map.put("id", 96);
map.put("fieldNameSave", "PIC1");
//因为 url是字符串类型并且 xml使用 $,所以要用单引号引起来,否则会报错
map.put("url", "'" + url + "'");
map.put("tableName", "TC_PT_PRODUCT");
Result result = pointManageDao.updatfileUrl(map);
xml:
<update id="updatfileUrl" parameterType="java.util.HashMap" >
UPDATE ${tableName} set ${fieldNameSave} = ${url} where id = ${id}
</update>
参考:
mybatis动态传入表名、列名