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,表未真正更新写入数据,且程序未抛异常,数据库那边也未检测到异常错误,帮忙分析下可能会有什么原因出现这种情况?

ibatis java oracle

beowolf 10 years, 10 months ago

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

早安!地球 answered 10 years, 10 months ago

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

冬霜之月夜貓 answered 10 years, 10 months ago

是否设置自动提交?

永远16才 answered 10 years, 10 months ago

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

琐琐碎碎212 answered 10 years, 10 months ago

Your Answer