项目中一部分使用mybatis一部分直接使用数据库链接执行的sql操作数据库的,事物控制使用的是spring事物管理,在以前不做事物控制是OK的,链接直接关闭,现在要加事物控制,在做批量数据时间会出现锁表情况。具体配置如下:
这是XML中的配置,其中DBServer是要直接执行sql的操作类
具体代码如下:其实这里代码是有问题的,这里获取的数据库链接和mybatis获取得到的数据库链接肯定不是一个,这样事物应该控制时就有问题。只是小弟技术有限不知道该如何是好。
现在出现如下逻辑会锁表:中间标红字描述的操作的都是一张表。先执行删除,再执行插入,再执行关联数据。结果该表出现了锁表,请各路大神指点解决方案。
是不是数据库操作的时间太长啊?
那为什么不能都使用mybatis?
是不是要控制事务的传播属性啊,插入操作要等待这个删除操作完成,再进行。