//首先我們以傳遞的參數是數組為例
//批量刪除 @Test public void deleteuser(){ SqlSession session=sessionFactory.openSession(); UserMapper userMapper=session.getMapper(UserMapper.class); int num=0; int[] arr=new int[]{10,11}; try { num = userMapper.deleteUser(arr); session.commit(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } if (num<=0) { System.out.println("刪除失敗"); }else { System.out.println("刪除成功"); }
那么我們的接口應該寫成:

而我們的sql映射文件應該寫成:

也就是說:當我們的接口中是數組類型的時候,在映射文件中的collection中要用array來接收;
但是當我們的接口寫成這種形式的時候:

而我們的sql映射文件中也應該有相應的改變:

如果,我們為了保證mybatis在批量刪除時不報錯,也就是當傳來的參數是null時,我們可以加上:
<if test='ids is not null'>
<>
