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

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

内容简介:版权声明:本文由 低调小熊猫 发表于 低调小熊猫的博客转载声明:自由转载-非商用-非衍生-保持署名,非商业转载请注明作者及出处,商业转载请联系作者本人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);
    }

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

查看所有标签

猜你喜欢:

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

The Web Designer's Idea Book

The Web Designer's Idea Book

Patrick Mcneil / How / 2008-10-6 / USD 25.00

The Web Designer's Idea Book includes more than 700 websites arranged thematically, so you can find inspiration for layout, color, style and more. Author Patrick McNeil has cataloged more than 5,000 s......一起来看看 《The Web Designer's Idea Book》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具