mybatis mysql delete in操作只能删除第一条数据

栏目: Java · 发布时间: 7年前

内容简介:版权声明:本文由 低调小熊猫 发表于 低调小熊猫的博客转载声明:自由转载-非商用-非衍生-保持署名,非商业转载请注明作者及出处,商业转载请联系作者本人qq:2696284032文章链接:

版权声明:本文由 低调小熊猫 发表于 低调小熊猫的博客

转载声明:自由转载-非商用-非衍生-保持署名,非商业转载请注明作者及出处,商业转载请联系作者本人qq:2696284032

文章链接: https://aodeng.cc/archives/deletebug

出现的Bug

如图,我开始复制delete语句和参数到数据库执行,删除两条数据,但是后台执行确只删除一条数据,当时表示一脸懵逼

mybatis mysql delete in操作只能删除第一条数据

分析原因

如图,正确的参数传值应该是这样的,聪明的同学,应该就知道哪里错了

mybatis mysql delete in操作只能删除第一条数据

解决问题

我就不贴开始的代码了,直接贴解决bug的代码

mybatis中的代码

<!-- 批量删除-->
    <delete id="deleteByIds" parameterType="int[]">
         <![CDATA[
        DELETE FROM p_customer
        WHERE customerId in
        ]]>
        <foreach collection="array" item="arr" index="no" open="("
            separator="," close=")">
            #{arr}
        </foreach>
    </delete>

controller中的代码

/**
     * 删除和批量删除
     */
    @RequestMapping(value = "/del", method = RequestMethod.POST, produces = { MediaType.APPLICATION_JSON_VALUE })
    public ResponseEntity<PCustomerVo> delete(@RequestParam String customerId) throws Exception {
        //获取批量删除的id,去掉最后一个“,”
        customerId=customerId.substring(0,customerId.length()-1);
        String[] strarr=customerId.split(",");
        int[] arr=new int[strarr.length];
        for(int i=0;i<strarr.length;i++){
            arr[i]=Integer.parseInt(strarr[i]);
        }
        pcustomerService.deletes(arr);
        return new ResponseEntity<>(HttpStatus.OK);
    }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入浅出密码学

深入浅出密码学

Christof Paar、Jan Pelzl / 马小婷 / 清华大学出版社 / 2012-9 / 59.00元

密码学的应用范围日益扩大,它不仅用于政府通信和银行系统等传统领域,还用于Web浏览器、电子邮件程序、手机、制造系统、嵌入式软件、智能建筑、汽车甚至人体器官移植等领域。今天的设计人员必须全面系统地了解应用密码学。 《深入浅出密码学——常用加密技术原理与应用》作者帕尔和佩尔茨尔长期执教于计算机科学与工程系,拥有十分丰富的应用密码学教学经验。本书可作为研究生和高年级本科生的教科书,也可供工......一起来看看 《深入浅出密码学》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具