美文网首页
MyBatis缓存

MyBatis缓存

作者: Mr_J316 | 来源:发表于2019-06-18 14:47 被阅读0次

缓存介于应用程序和数据库之间,其作用是降低应用程序对物理数据库访问的频次,提高应用程序性能。应用程序在查询数据时,首先会在缓存中查找,如果命中则直接将数据返回,避免建立数据库查询的性能损耗。

MyBatis提供两级缓存:

  • 一级缓存:

    事务级别,由SqlSession管理维护。只能被当前事务访问,每个事务都有各自的缓存。缓存的生命周期依赖于事务的生命周期:当事务结束时,缓存的生命周期也会结束。

  • 二级缓存:

    应用(进程)级别,由SqlSessionFactory管理维护,可以被属于同一SqlSessionFactory的所有事务共享。缓存的生命周期依赖于应用的生命周期,当应用结束时,缓存的生命周期同时结束。

注意事项:可以在核心配置文件中开启MyBatis日志查看缓存使用情况(放在properties标签下方)

<settings>  
    <setting name="logImpl" value="STDOUT_LOGGING"/>  
</settings>  

打开二级缓存:在Dao映射文件中增加<cache />标签

将实体类序列化(关联对象必须同时序列化)

public class User implements Serializable {
    private String id;// 用户编号
    private String name;// 用户名
    private Integer age;// 年龄
    private Category category;// 所属类别
    private static final long serialVersionUID = 1L;
}

相关文章

网友评论

      本文标题:MyBatis缓存

      本文链接:https://www.haomeiwen.com/subject/mnsfqctx.html