Mybatis之工作原理及缓存

                                     Mybatis之工作原理及缓存

1.什么是Mybatis?

开源的持久层框架,入门简单,支持定制化SQL语句以及高级映射。Mybatis底层封装了JDBC代码,Mybatis可以使用简单的XML或注解来配置和映射原生信息,将JAVA对象映射成数据库中的记录,反之将数据库中的记录映射成Java对象。

2.Mybatis工作原理

1.通过SqlSessionFactoryBuilder从mybatis-config.xml配置文件中构建出SqlSessionFactory。

2.SqlSessionFactory的实例开启一个SqlSession

3.SqlSession实例获得Mapper对象并运行Mapper映射的SQL语句,完成对数据库的CRUD和事务提交以及事务失败的回滚,之后关闭Session。

3.MyBatis缓存级别

一级缓存:Mybatis默认会开启一级缓存,一级缓存是在SqlSession层面进行缓存的,每个SqlSession都有自己的缓存而且是私有的。多次调用同一个Mapper和同一个方法同一个参数,只会进行一次数据库查询,然后把数据缓存起来,以后直接从缓存中取出数据,当进行增删改的时候则缓存会清楚,下次查询的时候会从数据中取数据重新加载到缓存中。

二级缓存:在SqlSessionFactory层面给各个Session对象共享缓存,二级缓存需要手动开启。

猜你喜欢

转载自blog.csdn.net/demo_gsl/article/details/88651404