如何使用 MyBatis 注解将数组传递给字符串到 IN 子句

How to Pass Array to String to IN Clause Using MyBatis annotation

我在使用 Mybatis annotation.I 的 IN 子句中使用下面的代码片段 annotation.I 我在执行时没有遇到任何异常,但是它 returns 0 行。
请帮我解决这个问题。

@Select("SELECT A.* FROM RPRT_HDR A,SCHL_MSTR B WHERE A.SCHL_ID=B.SCHL_ID AND B.SCHOOL_NAME in (#{schools}) AND A.YR_MTH=#{ym}")
@Results(value={
@Result(property ="rprtKey",column="RPRT_KEY"),
@Result(property="reportImage",javaType = List.class,column ="rprtKey",many=@Many(select="getImages")),
@Result(property="reportQnAns",javaType = List.class,column ="rprtKey",many=@Many(select="getQuestionAnswer"))            
})        
List<ReportHeader> getReportdata(@Param("schools")String[] schools,@Param("ym")int yearmonth );

查询成功是因为Mybatis实际上是将String数组发送给String,然后是有效的,只是没有匹配字符串的记录。 写入:@Select("<script>SELECT A.* FROM RPRT_HDR A,SCHL_MSTR B WHERE A.SCHL_ID=B.SCHL_ID AND B.SCHOOL_NAME in (<foreach collection='schools' item='school' separator=', '>#{school}</foreach>) AND A.YR_MTH=#{ym}</script>")