如图,insert方法插入一条数据,selALL方法查询数据,我还没有commit,仍然能查询到刚刚insert的数据
请问这其中的原理是什么?事务提交前插入的数据存放在哪?为什么能被select取到?
在运行的时候,查询和新增是在同一个sqlsession下,而这个sqlsession又处于同一个事务当中,同一个事务,前面做了新增操作是可以查的到数据的,即使没有提交,但是如果你的程序不进行commit的话执行完成后去数据库查是不会有数据的,因为这时候和之前是处于不同的事务环境当中
在一个事务里面肯定这样啊,就像你在pl/sql同一个窗口先插入不提交,然后查询一个道理(如果你另开一个窗口查询肯定是查不出来的),你把commit去掉然后到数据库查询肯定是没有插入