mybatis批量删除时传递参数的问题

Posted 小白白嘿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\'>

<>

以上是关于mybatis批量删除时传递参数的问题的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis实现批量删除操作

mybatis 怎么根据数组参数 来进行批量删除?

Mybatis 实现批量插入和批量删除源码实例

mybatis的批量删除

mybatis 怎么根据数组参数 来进行批量删除?

Java--MyBatis批量插入批量更新和批量删除