MyBatis框架:第十章:mybatis缓存

2022-10-06 17:09:10 浏览数 (1)

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配置文件

代码语言:javascript复制
<!-- 
	queryUserById 根据id查询用户
 -->
<select id="queryUserById" parameterType="int" resultType="com.bean.User">
	select id,last_name lastName,sex  from t_user where id = #{id}
</select>
123456

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

代码语言:javascript复制
@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();
}
}

1234567891011121314

测试的结果:

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

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

0 人点赞