mysql如何删除第一条数据_mybatismysqldeletein操作只能删除第一条数据的方法

本文介绍了在使用MyBatis进行MySQL删除操作时遇到的一个bug,即使用DELETE IN语句批量删除数据,但实际只删除了一条。问题关键在于参数传递错误,原始代码中数组参数未正确转换。修复代码展示了如何正确处理数组参数,通过截取和转换字符串来构造正确的IN条件。最后,文章提醒读者注意此类问题并提供了相关MyBatis和MySQL操作的参考资料。
摘要由CSDN通过智能技术生成

出现的Bug

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

4e686745952ea5576527e30042528339.png分析原因

分析原因

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

解决问题

6427a08405e03159586b361e0c2dd75f.png解决问题

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

mybatis中的代码

DELETE FROM p_customer

WHERE customerId in

]]>

separator="," close=")">

#{arr}

controller中的代码

/**

* 删除和批量删除

*/

@RequestMapping(value = "/del", method = RequestMethod.POST, produces = { MediaType.APPLICATION_JSON_VALUE })

public ResponseEntity 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

arr[i]=Integer.parseInt(strarr[i]);

}

pcustomerService.deletes(arr);

return new ResponseEntity<>(HttpStatus.OK);

}

总结

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

您可能感兴趣的文章:MyBatis直接执行SQL的工具SqlMapper

如何批量测试Mybatis项目中的Sql是否正确详解

Mybatis核心组成部分之SQL映射文件揭秘详解

Mybatis学习笔记之动态SQL揭秘

MyBatis中动态sql的实现方法示例

mybatis连接MySQL8出现的问题解决方法

详解Mybatis逆向工程中使用Mysql8.0版本驱动遇到的问题

详解mybatis.generator配上最新的mysql 8.0.11的一些坑

SQL 正则表达式及mybatis中使用正则表达式

MyBatis执行动态SQL的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值