稀なコード

動的SQLは、あまり書かないというスタンスは正しいのだろうか?
iBATIS 動的SQL イテレータ
リスト展開結果でSQL成立するようにする方法
SqlMapClient に渡すパラメータオブジェクトに、java.util.Collection実装属性を用意する
これを iterate タグで展開する。
-------SqlMap 記述 ---------
WHERE ITEM
      <iterate  prepend=" IN
                open="(" close=")" property="itemList"
                conjunction=",">
      #itemList#
      </iterate>
----------------------------

property    : パラメータオブジェクトの展開される属性
prepend     : 展開結果の前に記述するSQL
open       : 展開開始の前に付与されるもの
close       : 展開終了の後に付与されるもの
conjunction : 展開要素を接続する記述

iterateタグBODY で、#property#
 と書く。

=======
SqlMapClient に渡すパラメータ例:
import java.util.ArrayList;
import java.util.List;
public class Param{
   private List<String> itemList;
   public Param(){
      this.locationList = new ArrayList<String>();
   }
   public List<String> getItemList(){
      return this.itemList;
   }
   public void setItemList(List<String> itemList){
      this.itemList = itemList;
   }
   public void addItem(String item){
      this.itemList.add(item);
   }
}