mybatis批量刪除時傳遞參數的問題



//首先我們以傳遞的參數是數組為例
//
批量刪除 @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'>

<>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM