在用ibatis调用mysql存储过程时,出现线程阻塞,但是存储过程中的数据插入却成功了,但是没有返回结果。
我写的存储过程执行了查询、添加、更新操作,并且返回一个int结果。
解决办法:
将dao的执行变成:update即可;
另外,查了有关的网友写的:
如果你的存储过程返回一个结果集,那么使用queryForList()或者queryForObject来调用;
如果你的存储过程既返回结果集又更新数据库数据,那么需要配置<transactionManager>的commitRequired=’true’
如果存储过程不返回结果集,或者仅仅以输出参数的形式返回结果集,那么应该使用update()方法,如果使用queryForList()或者queryForObject来调用,会导致线程阻塞,无法往下执行。