
ibatis 执行多条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就变了,这样就会死锁谁都无法读取了。这种问题该怎么解决? 展开
select seqno from table where .. for update ;
update table set seqno = seqno+1
问题就是,sqlmap配置文件中,每次仅能执行一条sql语句,上面2条sql无法一起执行。
要么就是从dao层分两次调用,但是上面两条sql一定要保证数据库的sessionid一致,我就怕出现第一次调用完查询,等第二次调用时候sesssion就变了,这样就会死锁谁都无法读取了。这种问题该怎么解决? 展开
2个回答
展开全部
楼上说的对,先update后select ,但是ibatis中<select></select>之间不能嵌套update语句,因此你只能分两次调用了 但是可以使用批处理

2022-08-05 广告
苏州蓝晓生物科技有限公司。标准化核心产品:公司拥有完整的琼脂糖介质、葡聚糖介质、聚甲基丙烯酸酯介质生产线,年产分离介质50000L,产品质量稳定并达到国际领先水平。核心优势:公司核心技术人员拥有近二十年不同基质的基球开发和官能化的丰富技术经...
点击进入详情页
本回答由苏州蓝晓生物科技有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询