MyBatis_sqlsession.flushStatements(作用总结

来源:互联网 发布:皇甫圣华淘宝店网址 编辑:程序博客网 时间:2024/06/01 22:37

MyBatis_sqlsession.flushStatements(作用总结;
当有处于事物中的时候
sqlSession.flushStatements();起到一种预插入的作用(执行了这行代码之后,要插入的数据会锁定数据库的一行记录,并把数据库默认返回的主键赋值给插入的对象,这样就可以把该对象的主键赋值给其他需要的对象中去了)

下面是代码跟踪过程

1.刚接收参数:可以看到这个时候id是为null的
这里写图片描述

2.刚执行为插入的时候,id也是为Null的
这里写图片描述

3.执行了sqlsession.flushStatements();之后,可以看到这个时候是有id了的,但是查看数据库,是没有这条记录的
这里写图片描述

4数据库记录
这里写图片描述

5.从下面两个图片中可以看出,传入对象和返回都是一个对象.是不是可以考虑不用赋值返回值了?反正都是指向一个地址
这里写图片描述

6这里写图片描述

0 1
原创粉丝点击