其他分享
首页 > 其他分享> > @Select里面怎么用foreach添加循环参数和报错问题

@Select里面怎么用foreach添加循环参数和报错问题

作者:互联网

这是我一个@Select里面的分页查询,记住复杂语句用<script></script>包裹起来,但是在<script></script>内不能用>、<=、<、<=等判断语句要用gt;和lt;等转义字符,具体字符自行百度查看。(注意结尾不要用分号;否则报错,而且最好用&{},用#{}传参数也会有报错问题出现。)

		@Select("<script> select  to_char(data_time,'yyyy-mm-dd hh24:mi:ss') " + 
				"as TIME ,mn as MN,factor_code as CODE,avg_value as VALUE,flag " + 
				" from (" + 
				"select t.*,ROWNUM as rn from HOUR_DATA t where (t.mn in"
				+ "<foreach collection='mnList' index='index' item='item' open='(' separator=',' close=')'> " 
	            + "'${item}'" 
	            + "</foreach> )"
				+ "and (t.factor_code in"
				+ "<foreach collection='projectCodes' index='index' item='item' open='(' separator=',' close=')'> " 
	            + "'${item}'" 
	            + "</foreach>)" 
				+ "and (t.data_time between  (to_date('${startTime}','yyyy-mm-dd hh24:mi:ss'))" + 
				"and (to_date('${endTime}','yyyy-mm-dd hh24:mi:ss'))) " + 
				") tt where tt.rn&gt;${pageNo} and tt.rn&lt;${pageSize}</script>")
	public List<Map<String, Object>> audioSingReportByPage2(@Param("startTime") String startTime, @Param("endTime") String endTime,
			@Param("projectCodes") List<String> projectCodes, @Param("mnList") List<String> mnList,
			@Param("pageNo") Integer pageNo,@Param("pageSize") Integer pageSize);  
		 

标签:pageSize,pageNo,tt,List,Param,报错,foreach,dd,Select
来源: https://blog.csdn.net/qq_34134299/article/details/117651500