一级缓存与二级缓存
程序员文章站
2024-03-24 16:49:58
...
一级缓存与二级缓存
- Mybatis 中默认开启一级缓存,二级缓存需要手动开启
Mybatis 中的缓存
开启二级缓存
配置相关的Mapper映射文件:添加 cache 标签
- 标签表示当前这个 mapper 映射将使用二级缓存,区分的标准就看 mapper 的 namespace 值。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.itheima.dao.IUserDao">
<!-- 开启二级缓存的支持 -->
<cache></cache>
</mapper>
配置 statement 上面的 useCache 属性
- 将 UserDao.xml 映射文件中的标签中设置 useCache=”true”代表当前这个 statement 要使用
二级缓存,如果不使用二级缓存可以设置为 false。 - 注意:针对每次查询都需要最新的数据 sql,要设置成 useCache=false,禁用二级缓存。
<!-- 根据 id 查询 -->
<select id="findById" resultType="user" parameterType="int" useCache="true">
select * from user where id = #{uid}
</select>