参考:https://blog.csdn.net/weixin_38192427/article/details/121443045
https://blog.csdn.net/qiaohao0206/article/details/125055987
案例演示
sql:
<select id="test" parameterType="com.pptutor.analytic.model.dto.TestDTO" resultMap="BaseResultMap">
SELECT * FROM `t_course_try_report_student`
<choose>
<when test="intList != null">
<foreach collection="intList" item="intId" open="where" separator="and" close="">
<if test="intId == 1">
`status`= #{intId}
</if>
</foreach>
</when>
<otherwise>
where student_id = 39
</otherwise>
</choose>
</select>
testDTO
package com.pptutor.analytic.model.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class TestDTO {
private List<Integer> intList;
}
dao
List<ClassReportOutDTO> test(TestDTO testDTO);
结果: