将逗号分隔的字符串根据逗号转为int数组并在mybatis中使用in查询
要将逗号分隔的字符串转为int数组,可以使用split()方法将字符串分割成多个子字符串,然后使用Integer.parseInt()方法将每个子字符串转为int类型,最后将这些int值存入int数组中。
下面是一个示例代码:
String str = "1,2,3,4,5";
String[] strArray = str.split(",");
int[] intArray = new int[strArray.length];
for (int i = 0; i < strArray.length; i++) {
intArray[i] = Integer.parseInt(strArray[i]);
}
在MyBatis中使用in查询时,可以使用foreach标签来遍历int数组,将数组中的每个元素作为参数传递给SQL语句中的in条件。
下面是一个示例代码:
<select id="getUserList" resultType="User">
SELECT * FROM user
WHERE id IN
<foreach item="item" index="index" collection="idList" open="(" separator="," close=")">
#{item}
</foreach>
</select>
在Java代码中,可以将int数组传递给MyBatis的Mapper接口方法:
List<User> getUserList(@Param("idList") int[] idList);
在调用Mapper接口方法时,将int数组作为参数传递给idList即可:
int[] idList = {1, 2, 3, 4, 5};
List<User> userList = mapper.getUserList(idList);
``
原文地址: http://www.cveoy.top/t/topic/iUIp 著作权归作者所有。请勿转载和采集!