在日常的开发中,有时我们会遇到这样一种场景,需要先插入数据,然后立马再查询出来。但有经验的同学会立刻提出异议:先插入一些数据再进行查询,有时会查不到刚刚插入的数据。
我本人也遇到过这个问题,但一直不明白其中的道理,是数据库自身的原因还是因为网络的原因,我不知道,希望大佬能指点一二。
如果非要插入数据后立刻能查询到,需要在插入数据的过程中开启事务,在插入完成后关闭事务。这样在接下来的查询中就能立刻查询到数据了。
我的一个建议是:建立2个方法,一个是插入,另一个是查询,插入方法需要开启事务,在顶层先调用插入方法,再调用查询方法。