zoukankan      html  css  js  c++  java
  • 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'>

    <>

  • 相关阅读:
    如何绕过chrome的弹窗拦截机制
    自我介绍
    注册页面的编写
    Roadmap学习目标
    Position
    poj2506 Tiling
    poj3278 Catch That Cow
    poj3624 Charm Bracelet
    钢条切割问题带你彻底理解动态规划
    poj1328 Radar Installation
  • 原文地址:https://www.cnblogs.com/songkaikai/p/9781272.html
Copyright © 2011-2022 走看看