前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MyBatis框架:第十章:mybatis缓存

MyBatis框架:第十章:mybatis缓存

作者头像
马克社区
发布2022-10-06 17:09:10
1280
发布2022-10-06 17:09:10
举报
文章被收录于专栏:高端IT高端IT

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

本文系转载,前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com