Mybatis以及俩个缓存机制

Mybatis开发流程
1.导入依赖

在这里插入图片描述

2.配置数据库信息:

在这里插入图片描述

添加一个mapper.xml,


sql语句 #{参数}

namespace:命名空间,引出虚拟的类位置;
id:sql语句的别称;
parameterType:参数类型;
resultType:返回对应的实体类位置;

然后在mybatis配置文件 注册mapper.xml
在这里插入图片描述

构建sqlsessionfactory工厂
SqlSeesionFactory sessionFactory=new SqlSessionFactoryBuilder().builder(文件的输入流);
sqlsessionfactory会话工厂就是对mybatis.xml进行解析

String statement=“命名空间+sql_id”; //知道执行那个sql
SqlSession session=sessionFactory.openSession();数据库会话对象

Mybatis的缓存机制:
Mybatis存在两级缓存

一级缓存与SqlSession会话绑定,默认开启:
将数据保存在内存中,巨大的HashMap,一个SqlSession对应一个HashMap对于一级缓存在sqlsession创建时创建,在sqlsession close的时候关闭,一级缓存存活时间较短。

二级缓存是应用全局缓存,所有SqlSession共享:
只要mybatis启动过程中,缓存就一直存在对于二级缓存的载体可以是内存HashMap、ehcach、redis,所有sqlsession都可以访问数据。随着Mybatis的sessionfactory的创建而创建,在sessionfactory销毁的时候会消失。缓存命中率更高。

缓存:就是将不常变更的数据保存内存或高速存储器,从而降低查询时间增快数据查询速度。

二级缓存需要手动来添加:
在mapper.xml中在mapper标签里面,添加
<cache size="" eviction=“FIFO 、LRU”, flushInterval="" readOnly=“true”/>
二级缓存需要对存储的对象实现Serializable接口
useCach是否使用缓存 在select等标签使用
size:缓存容量多少对象
eviction:用那些清除缓存算法 FIFO先进先出、LRU指定时间内使用最少先清除
flushInterval:定时清理缓存
readOnly="true"设置保存缓存设置只读,保证一致。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值