利用Ibatis的Iterate标签可以循环遍历List的每个元素来动态做成SQL文,但是如果传入的是一个嵌套List的时候,该怎么用Iterate来遍历呢,笔者经过大量的实验,终于找到了这种方法。代码如下
- <iterate property="csvData">
- INSERT INTO $dbname$.K_XXX (CD, KNO, MSNO, data_no
- <iterate property="entryMsItem" close=") ">
- , $entryMsItem[]$
- </iterate>
- SELECT #Cd#, #kno#, #msNo#, ZEROIFNULL(MAX(DATA_NO)) + 1
- <iterate property="csvData[]" >
- , #csvData[].[]#
- </iterate>
- FROM $dbname$.K_XXX
- WHERE CD =#Cd#
- AND KNO = #kno#
- AND MSNO = #msNo#
- ;
- </iterate>
以上代码中,csvData是一个嵌套List,即它里面的内容仍旧是一个List,用Iterate的遍历的方法的重要点在:
- <iterate property="csvData[]" >
- , #csvData[].[]#
- </iterate>
其中csvData[]代表该List的一个元素,而#csvData[].[]#代表的是List下的List的一个元素。这样就能遍历一个二层的List对象了。Oracle索引之B-Tree和Bitmap索引对比Oracle--plsql复合数据类型相关资讯 SQL
- SQL 新手指南 (09/10/2015 10:57:53)
- SQL导入txt以及SQL中的时间格式操 (01/25/2015 11:35:04)
- SQL 事务及实例演示 (08/12/2014 10:36:37)
| - SQL 中的正则函数 (06/28/2015 15:59:48)
- SQL 集合(笔记) (01/15/2015 20:19:06)
- Oracle shell调用SQL操作DB (02/03/2014 10:48:18)
|
本文评论 查看全部评论 (0)