2025Mybatis最新教程(七)
第7章 缓存
内存中的一块存储空间,服务于某个应用程序,旨在将频繁读取的数据临时保存在内存中,便于二次快速访问。
无缓存:用户在访问相同数据时,需要发起多次对数据库的直接访问,导致产生大量IO、读写硬盘的操作,效率低下 |
---|
有缓存:首次访问时,查询数据库,将数据存储到缓存中;再次访问时,直接访问缓存,减少IO、硬盘读写次数、提高效率 |
---|
7.1 一级缓存
SqlSession级别的缓存,同一个SqlSession的发起多次同构查询,会将数据保存在一级缓存中。
-
注意:无需任何配置,默认开启一级缓存。
<select id="selectUserById" resultType="user"> <!--#{arg0} = 方法的第一个形参--> SELECT * FROM t_users WHERE id = #{arg0} </select>
import com.banyuan.study.bean.User; import com.banyuan.study.util.MybatisUtil; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; /*** @author poi 2021/5/28 22:31* @version 1.0* 2021/5/28 22:31*/ public class CacheTest { @Test public void flu