论坛首页 Java企业应用论坛

mybatis foreach 标签!

浏览 5134 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (15) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-08-15  
java:
  Map map = new HashMap();
  map.put("userName","tom");
  map.put("password","123");
  String[] a = { "20000001", "20000002" }; 
  map.put("classIds",Arrays.asList(a));

  queryPasswordByUserId(userMap);--查询

sql xml:

<select id="queryPasswordByUserId" parameterType="hashmap" resultType="string">
    select PASSWORD as "password" from T_S_P_USER
    <trim prefix="WHERE" prefixOverrides="AND|OR">
      <if test="userId   != null">USER_ID = #{userId}</if>
      <if test="password != null">and PASSWORD = #{password}</if>
      <if test="classIds != null">and PASSWORD in
<foreach collection="list" item="classIds" open="(" separator="," close=")">
#{classIds[]}
        </foreach>
      </if>
    </trim>

  </select>

是不是foreach标签里面的写法有错误?去掉classIds 这个属性可以正常打出SQL语句,如果用了classIds 属性SQL语打不出来。
   发表时间:2011-11-23  
<foreach collection="list" item="classIds" open="(" separator="," close=")">
     #{classIds[]}
</foreach>


#{classIds[]} 没有[]呀。。
0 请登录后投票
   发表时间:2011-11-28  
楼上正解
item 就相当玉指定了变量名
下面直接用就可以了
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics