天天看点

MyBatis中动态sql实现传递多个参数并使用if进行参数的判断和实现like模糊搜索以及foreach实现in集合

场景

在mapper接口层方法参数有id的数组和姓名的模糊搜索和类型的三个参数。

现在需要将这三个参数传递在动态sql的xml中接受并进行判断不为空。

然后查询数据库中记录在第一个参数id数组中的并且姓名是模糊搜索的并且类型是直接相等于的。

实现

mapper层接口写法:

xml写法:

注意:

上面是一些相关的关联查询。

下面的

就是实现查询id在参数ids这个数组中的。

注意这里的array要与接口方法中@Param("array")一致。

然后这里传递的参数名字if test发判断中直接使用对应接口方法中的参数名,不用使用#{xm}这种的方式,但是在里面的sql语句中要使用这种方式。