在mybatis中进行搜索时,有时候参数中包含了List,比如传入参数:
public class FileRequest{
//文件类型
private Integer fileType;
//状态
private List<Status> statusList;
}
public class Status{
//注册状态
private Integer registerStatus;
//会议状态
private Integer meetingStatus
}
在mybatis中查询的语句
<select id="findList" parameterType="FileRequest" resultMap="...">
select * from tableName where
1=1
<if test="fileType != null ">
and file_type = #{fileType}
</if>
<if test="statusList != null ">
and
<foreach collection="statusList" index="index" item="item" open"(" separator="or" close=")">
<if test="item.registerStatus != null ">
and register_status= #{item.registerStatus}
</if>
<if test="item.meetingStatus != null ">
and meeting_status= #{item.meetingStatus }
</if>
</foreach>
</if>
</select>