数据库 
首页 > 数据库 > 浏览文章

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

(编辑:jimmy 日期: 2025/5/1 浏览:3 次 )

出现的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);
  }

总结

以上所述是小编给大家介绍的mybatis mysql delete in操作只能删除第一条数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

上一篇:MySql中特殊运算符的使用方法总结
下一篇:深入浅析MySQL 中 Identifier Case Sensitivity问题
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 站点导航 SiteMap