mybatis-plus的批量修改源码遇到的问题
看了下mybatis-plus的批量修改源码,然后就理解了mybatis的一级,二级缓存
1.一级缓存是放在sqlsession中的,他里面有一个map对象,key是et字符串,value就是对象
2.每一个sqlsession都是私有的,不会共享
3.当所有对象都处理完成之后(sqlsession.update,这个时候不会操作数据库)
4.会批量提交到sqlsessionFactory中也就是二级缓存,二级缓存是所有的sqlsession共享的
5.然后从sqlsessionFactory中打开sqlsession
6.然后再吧所有的sql语句去提交事务,并且关闭sqlsession
7.下次在进来的时候,sqlsession就是新的连接了。
8.当你一条一条更新sql的时候,都需要开启关闭事务速度会很慢
9.但是mybatis-plus使用了mybatis的一级二级缓存,一次提交,所以他这里快