MyBatis(4)缓存与注解开发

11.缓存:

    11.1 一级缓存:

        一级缓存是指MyBatis中SqlSession对象的缓存。
        当我们执行查询后,查询的结果会同步存放到SqlSession为我们所提供的一块区域中。这个区域的结构是一个map
        key:MapperID+offset+limit+Sql+所有的入参
        value:用户信息

            当SqlSession对象消失,或调用SqlSession的修改,添加,删除,commit(),close()等方法时,就会清除一级缓存。

    11.2 二级缓存:

        二级缓存是指MyBatis中SqlSessionFactory对象的缓存,由同一个SqlSessionFactory对象创建的SqlSession共享其缓存。
        这里注意:二级缓存缓存的是对象,不是数据
        mybatis的二级缓存是通过CacheExecutor(Executor的代理对象)实现的,所有的查询操作都会在CacheExecutor中先匹配缓存。
        key:MapperID+offset+limit+Sql+所有的入参

        配置步骤一:Mybatis全局配置中启用二级缓存配置

SqlMapConfig.xml

        配置步骤二:对应的Mapper.xml中配置cache节点

        配置步骤三:对应的select查询节点中添加useCache = true

IUserDao.xml

12.注解开发:

    12.1 mappers四种配置方式:

        xml与接口注解同时存在(目录结构一样,哪怕没使用xml也会报错)

    12.2 CURD:

         CURD对应@Select,@update,@Insert,@Delete。注解中的信息包含了xml中的所有信息

    12.3 实体类与数据库字段映射关系:

    12.4 一对一:

    12.5 一对多:

    12.6 开启二级缓存:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。