mybatis传入多个数组或者多个list的实现

mybatis传入多个数组或多个list
此博客给出了mybatis传入多个数组或者多个List,传入多个数组或者多个List,传入多个数组或者多个List,而非传入多个参数的一种实现。(PS:传入多个参数很简单,直接去搜会有大量相关博客)
这几天实现一个小功能,需要在查询数据库时用到两次IN查询,发现直接使用两个list会报错,去搜集了相关资料终于解决了,在此记录一下,以免下次碰到类似问题手足无措。

直接贴需求代码:
dao:
需要实现的是这样子的接口:

public ListgetIds(@Param("examIds")List examIds,@Param("subjectIds")ListsubjectIds);

然而实际是这样实现的:

public ListgetIds(@Param("ids")Ids ids);

POJO类Ids的内容如下(省略get,set,toString方法):

public class Ids {
	ListexamIds;
	ListsubjectIds;
	..............
	}

mapper:

	

简单来讲,在传入多个list时,最好将多个List封装在一个pojo类里面,然后将这个pojo类作为接口的参数传过来,在mapper里面用到list时,用pojo.list方式去取list参数。数组同理。
至于为什么需要将多个List参数封装,可以参考mybatis jar包里的源码实现(binding文件夹下的MapperMethod.class)。

在这里插入图片描述
已经有人分析过此源码,在此不再套用别人的成果。附上传送门http://www.zhongruitech.com/528480084.html

https://blog.csdn.net/zh15732621679/article/details/79678363

你可能感兴趣的:(mybatis传入多个数组或者多个list的实现)