MyBatis框架:第十章:mybatis缓存

mybatis缓存
说明: 缓存指的是把一些常用的数据,保存到一个可以高速读取的缓冲区中。方便程序在频繁读取的时候,可以快速的取出数据。这就叫做缓存。

一级缓存指的是,这些缓存的数据,在同一个SqlSession中多次SQL操作都可以获取。

二级缓存指的是,这些缓存的数据。在同一个Mapper中有一个cache缓存对象。多个SqlSession对象可以共享这些数据。

15.1、mybatis的一级缓存

MyBatis的一级缓存默认开启。同一个SqlSession中查询,可以从一级缓存中取数据。

15.1.1、一级缓存的演示
创建实体Bean对象

public class User {
private int id;
private String lastName;
private int sex;

创建UserMapper接口

public interface UserMapper {
public User queryUserById(int id);
}

创建UserMappper配置文件

<!-- 
	queryUserById 根据id查询用户
 -->
<select id="queryUserById" parameterType="int" resultType="com.bean.User">
	select id,last_name lastName,sex  from t_user where id = #{id}
</select>

测试一级缓存的测试代码:

@Test
public void testQueryUserById() {
SqlSession session = sqlSessionFactory.openSession();
try {
UserMapper userMapper = session.getMapper(UserMapper.class);
User user = userMapper.queryUserById(1);
System.out.println(user);
User user1 = userMapper.queryUserById(1);
System.out.println(user1);
} finally {
session.close();
}
}

测试的结果:
在这里插入图片描述

在上面的测试代码中,我们不难看出。我们查询了两次。可是只发出一条sql语句。

 


更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/120382612

 

posted @ 2022-10-06 18:10  忘川信使  阅读(18)  评论(0编辑  收藏  举报