Mybatisダイナミックモデル名のような解決策

1910 ワード

動的な着信表名、列名を実現するには、次のような修正が必要です。
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>
  • statementType:STATEMENT(プリコンパイルではない)、PREPARED(プリコンパイル)またはCALLABLEのいずれかを教えます。これはMyBatisがそれぞれSttement、PreParedSttementまたはCallable Statementを使うことを教えます。デフォルト: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());