概述
1.非xml方式,使用注解传in,要使用
@Select("<script>" +
"SELECT count(DISTINCT member_id) as memberCountn" +
"from member_analysisn" +
"WHERE agent_id in <foreach item='item' index='index' collection='memberIds' open='(' separator=',' close=')'>" +
"#{item}" +
"</foreach>" +
"</script>")
Integer getCountWithAgentId(@Param("memberIds") List<String> memberIds);
其中的foreach的collection直接写成@param中的值即可。
2.在入参前进行字符串封装,拼成(,,,,)传值
@Select("SELECT count(DISTINCT member_id) as memberCount from member_analysis where access_pat_id in (#{memberIds})")
Integer getCountWithAgentId(@Param("memberIds")String memberIds);
使用方法返回
public static String indexForm(List<String> s){
String content="";
int i=0;
for (String ss:s){
i++;
if (i==s.size()){
content+=ss;
}else {
content+=ss+",";
}
}
return content;
}
或者使用
StringUtils.join(memberIds.toArray(),",")
3.正常流程的xml方法
<select id="findByIds" resultMap="BaseResultMap">
select * from dictionaries
<where>
dictionaries.key in
<foreach item="item" index="index" collection="memberTypes" open="(" separator="," close=" )">
#{item}
</foreach>
</where>
</select>
最后
以上就是花痴芒果为你收集整理的Mybatis使用in传入List的三种方法的全部内容,希望文章能够帮你解决Mybatis使用in传入List的三种方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复