中易网

java用executebatch批量执行merge语句,如果知道成功更新了多少记录?

答案:2  悬赏:80  
解决时间 2021-01-03 05:18
executebatch的范围值全是-2,查了下这表示执行成功但是不知道更新了多少条记录,用getupdatecount()都是-1也取不到,是不是就没办法知道了?
最佳答案
int[] executeBatch() throws SQLException

将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。返回数组的 int 元素的排序对应于批中的命令,批中的命令根据被添加到批中的顺序排序。方法 executeBatch 返回的数组中的元素可能为以下元素之一:
大于等于 0 的数 - 指示成功处理了命令,是给出执行命令所影响数据库中行数的更新计数
SUCCESS_NO_INFO 的值 - 指示成功执行了命令,但受影响的行数是未知的
如果批量更新中的命令之一无法正确执行,则此方法抛出 BatchUpdateException,并且 JDBC 驱动程序可能继续处理批处理中的剩余命令,也可能不执行。无论如何,驱动程序的行为必须与特定的 DBMS 一致,要么始终继续处理命令,要么永远不继续处理命令。如果驱动程序在某一次失败后继续进行处理,则 BatchUpdateException.getUpdateCounts 方法返回的数组将包含的元素与批中存在的命令一样多,并且其中至少有一个元素将为:

EXECUTE_FAILED 的值 - 指示未能成功执行命令,仅当命令失败后驱动程序继续处理命令时出现

在 Java 2 SDK, Standard Edition, 1.3 版中已经修改了可能的实现和返回值,以适应抛出 BatchUpdateException 对象后在批量更新中继续处理命令的选项


返回:
包含批中每个命令的一个元素的更新计数所组成的数组。数组的元素根据将命令添加到批中的顺序排序。
全部回答
executeBatch()会返回一个int[] int[0]代表第一条sql语句执行后影响的行数,也就是"更新了多少条记录"。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
望前的意思是什么啊?请解释下!
江上村委会地址有知道的么?有点事想过去!
在css样式里怎样给局部填充一个渐变色
关于有善心做善事的古诗有哪些?
横坑村委会地址在什么地方,想过去办事
请问:我在宁夏有一辆2001年的红旗明仕488发
登陆艇的意思是什么?登陆艇的释义是什么啊?
三坑村委会地址在什么地方,想过去办事
法医秦明1到20集百度云,求求各位大神。(^-^)
梅州村委会地址在什么地方,想过去办事
汰流的意思是什么啊?请解释下!
申论范文大家有推荐的吗
檀江村委会地址有知道的么?有点事想过去!
橫折的意思是什么?橫折的释义是什么啊?
卢溪村委会地址在哪,我要去那里办事
推荐资讯
瑞典油锯45O最大转速
仪庙的意思是什么啊?请解释下!
2.05-0.28-0.18。0.625×0.5+5/8+1/2
2014年国家公务员辅导教材,山东省的三支一扶
珠海miumi艺术酒吧现在还招人吗?
瑞士队20号球员叫什么?
我的电脑的配置如下: 主板华硕:H61 CPU :
角的两边形成一条直线,这个角叫什么角
多肉植物砍头怎么砍 砍头后老桩爆崽
vs2010搭载qt4.7.4 以前好使的程序 现在说加
三洋a3机芯高压包十115v数据
魔兽几级 开始收费?魔兽有;安全区市场;吗?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?