1.添加属性statementType="PREPARED"2.同时sql里的属有表名变量取值都改成${xxxx},条件变量是#{xxx}<delete id="deleteDataBaseTable" parameterType="java.util.List" statementType="PREPARED" ><foreach collection="list" item="item" index="index" separator=";">delete from ${item.tablename} where 1=1 and ${item.column_name} = #{item.columnvalue}</foreach></delete>statementType:STATEMENT(非预编译),PREPARED(预编译)或CALLABLE中的任意一个,这就告诉 MyBatis 分别使用Statement,PreparedStatement或者CallableStatement。默认:PREPARED。Map<String,Object> sqlmap=new HashMap<String, Object>();sqlmap.put("tablename", tablename);sqlmap.put("column_name", column_name);sqlmap.put("columnvalue", map.get("aliasAccount").toString());
如果觉得《Mybatis 动态传入表名 字段名 的解决办法》对你有帮助,请点赞、收藏,并留下你的观点哦!