Mybatisダイナミックモデル名のような解決策
1910 ワード
動的な着信表名、列名を実現するには、次のような修正が必要です。 statementType:STATEMENT(プリコンパイルではない)、PREPARED(プリコンパイル)またはCALLABLEのいずれかを教えます。これはMyBatisがそれぞれSttement、PreParedSttementまたはCallable Statementを使うことを教えます。デフォルト:PREPARED。
1. statementType="PREPARED"
2. sql ${xxxx}, #{xxx}
<delete id="deleteDataBaseTable" parameterType="java.util.List" statementType="PREPARED" >
"list" item="item" index="index" separator=";">
delete from ${item.tablename} where 1=1 and ${item.column_name} = #{item.columnvalue}
delete>
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());