解决方法1:

   在mapper中传入参数时,加一个@param注解

 List<SysCommunicationRecord> selectByTypeAndLike(@Param("communicationType")List<Integer> communicationType, @Param("like")String like);

  在xml中,使用<foreach>标签,注意collection="communicationType",该值就是@param注解的参数名称;

 <if test="communicationType!=null and communicationType.size>0">
      
      <foreach collection="communicationType" item="item"
        open="and communication_type in(" separator="," close=")" >
            #{item}
      </foreach>
   
 </if>

解决方法2:

在mapper中传入参数时,直接写参数

 List<SysCommunicationRecord> selectByTypeAndLike(List<Integer> communicationType, String like);

在xml中,使用<foreach>标签,注意collection="list",该值就是list,小写的list,因为mybatis会自动将List参数封装成Map,深入了解mybatis的可以自行去研究。

 <if test="list!=null and list.size>0">
      
      <foreach collection="list" item="item"
        open="and communication_type in(" separator="," close=")" >
            #{item}
      </foreach>
   
 </if>

Logo

一站式 AI 云服务平台

更多推荐