示例:
@Select("<script>" +
"SELECT * FROM node mn " +
"WHERE n.state IN " +
"<foreach item = 'state' collection = 'states' index = 'index' open = '(' separator = ',' close = ')'>" +
"#{state}" +
"</foreach>" +
"</script>")
List<Node> queryIdAndPlanDay(List states);
SQL语句需要使用<script></script>
包起来,接着使用foreach
进行循环,再将循环后得到的值放入sql
中就ok了
item
:别名,就是遍历集合后用于接收数据的参数名,可自由更改
collection
:集合名字,是你传入的集合参数名字,必须与参数名字相同
open
:sql开始填充符号,相当于state in ()
中的in
后开始的第一个符号,即(
separator
:分隔符,是遍历集合后组成参数的分隔符
close
:sql结尾填充符号,是state in ()
中的in
后开始的最后一个符号,即)