Flex服务器端SQL(Ibatis)中使用嵌套List的方法


利用Ibatis的Iterate标签可以循环遍历List的每个元素来动态做成SQL文,但是如果传入的是一个嵌套List的时候,该怎么用Iterate来遍历呢,笔者经过大量的实验,终于找到了这种方法。代码如下

  1. <iterate property="csvData">  
  2.     INSERT INTO $dbname$.K_XXX (CD, KNO, MSNO, data_no  
  3.     <iterate property="entryMsItem" close=") ">  
  4.         , $entryMsItem[]$  
  5.     </iterate>  
  6.     SELECT #Cd#, #kno#, #msNo#, ZEROIFNULL(MAX(DATA_NO)) + 1  
  7.     <iterate property="csvData[]" >  
  8.         , #csvData[].[]#  
  9.     </iterate>  
  10.     FROM $dbname$.K_XXX  
  11.        WHERE CD =#Cd#   
  12.           AND KNO = #kno#  
  13.           AND MSNO = #msNo#  
  14.     ;  
  15. </iterate>  
以上代码中,csvData是一个嵌套List,即它里面的内容仍旧是一个List,

用Iterate的遍历的方法的重要点在:

  1. <iterate property="csvData[]" >  
  2.     , #csvData[].[]#  
  3. </iterate>  
其中csvData[]代表该List的一个元素,而#csvData[].[]#代表的是List下的List的一个元素。

这样就能遍历一个二层的List对象了。

相关内容