永夜海 发表于 2016-11-28 09:17:52

MyBatis动态传入表名,字段名的解决办法

  参考:http://luoyu-ds.iyunv.com/blog/1517607
  如果要动态传入表名,字段名之类的参数替换SQL语句中的占位副,需要将SQL语句执行改成非预编译的,即:

<update id="editIssuedData" parameterType="map" statementType="STATEMENT"
>
<![DATA[
updata user_info_t set ${field} = ${value}
where id= ${id}
]]>
</update>
  同时参数Map中需做下面处理:

Map<String, Object> map = new HashMap<String, Object>();
map.put("field", Constant.ISSUED_PLAN_COLUMN_NAME.get(field));
map.put("value", "'"+value+"'");
map.put("id", id);
页: [1]
查看完整版本: MyBatis动态传入表名,字段名的解决办法