ibatis iterateラベル

1665 ワード

Iterate:この属性は、集合全体を巡回し、List集合の要素のために要素の内容を繰り返す。
Iterateの属性:       prepend  - カバー可能なSQL文の構成部分は、文の前に追加されます(オプション)       property  - タイプはjava.util.Listのエルゴード用要素です。       open  -  内容体全体を巡回して開始する文字列は、括弧を定義するために使用されます。       close  -内容体全体を巡回した文字列は、括弧を定義するために使用されます。       conjunction-  各巡回内容間の文字列はANDまたはORを定義するために使用されます。       巡回タイプはjava.util.Listの要素です。
ibatisでは、どのようにin文を配置しますか?反復が必要です。直接的にstringの書き方を使うことはできません。
<select id="sql_test" parameterclass="myPramBean" resultclass="myResult">
select *from tablewhere name in
<iterate property="ids" conjunction="," close=")" open="(" />
#ids[]#
</iterate>
and code=#code#
</select>
beanの例
myPramBean
{
private String code;
private List ids;
...
} 
 注意:「iterate」を使用する場合、List元素名の後ろに括弧[]を含むことが重要です。
オブジェクトはListとしてマークされており、簡単にListをStringに出力します。
プロジェクトの一例:
 
<select id="getUsersSimpleMsg" parameterClass="map" resultClass="com.test.core.vo.UserVO">
        select
          id,
          code,
          name,
          email,
          mobile
        from test_user_user
         where status=0 
         and id in
         <iterate property="userIdList" close=")" open="("  conjunction=",">  
                #userIdList[]#   
         </iterate>   
   </select>