数据库的大部分场景下是从磁盘读取,如果数据从内存进行读取,速度较比磁盘要快得多。但因为内存的容量有限,所以一般只会把使用和查询较多的数据缓存起来,以便快速反应,其他使用率不太多的继续存放在磁盘。
mybatis分为一级缓存和二级缓存
1.一级缓存
一级缓存存放在SqlSqeeion上,默认开启
1.1pojo
@Data
public class Role{
private Long id;
private String roleName;
private String note;
}
1.2Mapper
public interface RoleMapper {
Role getRole (long id);
}
1.3xml文件
<mapper namespace="mybatis04.mapper.RoleMapper">
<select id="getRole" resultType="role">
select id,role_name as roleName,note from t_role where id=#{id}
</select>
</mapper>
1.4测试一级缓存
public class Mybatis04Test {
public static void main(String[] args) {
getRole();
}
public stati

本文详细介绍了MyBatis的一级和二级缓存机制。一级缓存默认开启,存储在SqlSession中,同一SqlSession内的相同查询会复用缓存。二级缓存需要配置开启,存储在SqlSessionFactory,要求POJO实现序列化接口。缓存的失效情况包括数据的INSERT、UPDATE、DELETE操作以及手动清除缓存。
最低0.47元/天 解锁文章
1315

被折叠的 条评论
为什么被折叠?



