Mybatis 注解开发传入List 两种方式接收方式 在IN场景中
Posted 刘百会
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis 注解开发传入List 两种方式接收方式 在IN场景中相关的知识,希望对你有一定的参考价值。
1.在@Select中
@Select("<script>"
+ "SELECT IDFA FROM t_xxx WHERE IDFA IN "
+ "<foreach item=\'item\' index=\'index\' collection=\'strList\' open=\'(\' separator=\',\' close=\')\'>"
+ "#{item}"
+ "</foreach>"
+ "</script>")
@Results(value = { @Result(column = "user_name", property = "username") })
public List<String> getXxxList(@Param("strList") List<String> strList);
说明:上述方式其实是一种注解完全代替xml的方法。
其中的foreach的collection直接写成@param中的值即可。
摘自:https://www.cnblogs.com/java-zhao/p/5489269.html
2.将入参进行封装,成(**,**,**,**,)
@Select("select access_pat_id from emr3.gp_doc_patients where access_pat_id in (#{apis}) and admission_time = (select max(admission_time) from emr3.gp_doc_patients where access_pat_id in (#{apis}))")
String getMaxTime(@Param("apis")String apis);
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;
}
该方法返回值就是入参apis
以上是关于Mybatis 注解开发传入List 两种方式接收方式 在IN场景中的主要内容,如果未能解决你的问题,请参考以下文章
Java之MyBatis 批量插入数据,两种方式(注解,XML)
Java之MyBatis 批量插入数据,两种方式(注解,XML)
mybatis sql in 查询(mybatis sql语句传入参数是list)mybatis中使用in查询时in怎么接收值