ibatis框架调用sqlmap,执行多条sql

我们用ibatis框架,每次调用数据库都是通过dao层调用sqlmap配置文件,来获取结果。现在有个业务流程就是获取流水号,获取时候要从数据库读取流水号id,然后紧接着把... 我们用ibatis 框架,每次调用数据库都是通过dao层调用sqlmap配置文件,来获取结果。现在有个业务流程就是获取流水号,获取时候要从数据库读取流水号id,然后紧接着把这个值再加1,以保证每次拿到的都是不同的id号。两条sql分别为:
select seqno from table where .. for update ;
update table set seqno = seqno+1
问题就是,sqlmap配置文件中,每次仅能执行一条sql语句,上面2条sql无法一起执行。
要么就是从dao层分两次调用,但是上面两条sql一定要保证数据库的sessionid一致,我就怕出现第一次调用完查询,等第二次调用时候sesssion就变了,这样就会死锁谁都无法读取了。这种问题该怎么解决?
展开
 我来答
一道_四狼_雨痕
推荐于2016-07-21 · TA获得超过569个赞
知道小有建树答主
回答量:736
采纳率:18%
帮助的人:170万
展开全部
没有的吧,我记得mybatis中是可以执行2条sql的,应该ibatis也可以才是。第一条sql中的返回值是可以作为第二条sql的条件执行的。
<updateid="insertProduct-ORACLE" parameterClass="com.domain.Product">
<selectKey resultClass="int" keyProperty="seqno" >
select seqno from table where .. for update
</selectKey>
update table set seqno = seqno+1

</update>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式