C/C++教程

@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);  
		 
这篇关于@Select里面怎么用foreach添加循环参数和报错问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!