2013-10-22 34 views
0

我有一個用於從對象創建表的映射器。在Mybatis3映射器foreach循環中跳過項目

的事情是我無法弄清楚如何一個項目依賴於它的「POS」屬性

<update id="createTable"> 
     CREATE TABLE ${param1}_${param2}_${param3.id} 
      <foreach collection="param3.field" item="field" separator="," open="(" close=")"> 
       <!-- Skip logic here..--> 
       ${field.name} varchar(${field.size}) 
      </foreach> 
    </update> 

我已經嘗試了一些不同的東西,如跳過:

... 
<if test="${field.pos != 1}"> 
    ${field.name} varchar(${field.size}) 
</if> 
... 

但隨着沒有運氣。

+0

爲什麼你不只是傳遞適當的過濾參數功能? –

+0

@MichałRybak我希望有可能在不重新編譯我的代碼的情況下更改映射器。但它通過代碼刪除不需要的字段結束。 – heldt

+0

嘗試''。 –

回答

0

docs,在<if>標籤的條件${}符號不應使用

嘗試<if test="field.pos != 1">而不是<if test="${field.pos != 1}">