前述:
我是学PHP的,让领导生生逼成java,刚开始java不是很熟练,所以能用sql搞定的坚决不用java。久而久之养成这种习惯。java 中 sql 中的where in 后面值如何给出。PHP是直接给数组格式的参数就行,但是java我试了直接给数组或者list都没有成功。
代码:
以下是在springboot框架下中的entity中直接写的sql
1、in 后面的参数需要循环给出。
@Select("<script>"
+ "SELECT * from `goods` g WHERE community_id IN"
+ "<foreach item='communityId' collection='communityIds' open='(' separator=',' close=')'>"
+ "#{communityId}"
+ "</foreach>"
+ " ORDER BY scan_num DESC;"
+ "</script>")
List<Map<String,Object>> findGoodsList(@Param("communityIds") String [] communityIds);
代码解释:
1、参数1:@Param(“communityIds”) String [] communityIds :格式一目了然是数组格式;也可以是任意可循环的格式。
2、循环中的collection属性值对应的是参数一。
3、循环中的item属性值,可以自定义任何符合参数命名的名字。但必须与#{communityId}中形参对应;
版权声明:本文为wlm123565原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。