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, 3 months ago

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

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

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

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

是否设置自动提交?

永远16才 answered 10 years, 3 months ago

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

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

Your Answer