相关疑难解决方法(0)

如何将整数数组传递给MyBatis中的IN子句

我的Mybatis中有一个包含IN子句的查询,它基本上是一组Id(整数)

我现在停留在如何将一个Integer数组传递给这个IN子句,以便它提取正确的记录.通过将包含ID的String传递给IN子句,但这没有按预期工作.

代码示例如下

使用注释的Mybatis方法

@Select(SEL_QUERY)
    @Results(value = {@Result(property="id",column="ID")})
    List<Integer> getIds(@Param("usrIds") Integer[] usrIds);
Run Code Online (Sandbox Code Playgroud)

询问

select distinct ID from table a where a.id in ( #{usrIds} )
Run Code Online (Sandbox Code Playgroud)

方法调用

Integer[] arr = new Integer[2];
arr[0] = 1;
arr[1] = 2;

mapper.getIds(arr)
Run Code Online (Sandbox Code Playgroud)

这不起作用,当我调用mapper方法时,Mybatis会抛出一个错误

请给我任何建议

java java-ee mybatis

22
推荐指数
2
解决办法
4万
查看次数

标签 统计

java ×1

java-ee ×1

mybatis ×1