ibatis 、oracle 执行sql update没成功,也没抛异常

执行update的sql是使用的in(...)这样的形式。
由于oracle支持的in的参数有限,所以就分批来执行程序,基本形式如下:

for(i=0; i<n; i++){
int ret = sqlmapclient.update("sqlid", params[i]);
}

params就是就是in的参数。
现在就是程序ret返回0,表未真正更新写入数据,且程序未抛异常,数据库那边也未检测到异常错误,帮忙分析下可能会有什么原因出现这种情况?

阅读 8.7k
4 个回答

更新未执行成功,可能是因为没有符合条件的数据需要更新,所以返回的条数是0

是否设置自动提交?

事务提交没有,检查事务相关代码或配置

怀疑是事务没有提交,检查下事务的配置。
也可能是后面的代码抛出异常导致整个事务被回滚。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题