- 博客(4)
- 收藏
- 关注
原创 Mybatis 缓存
一级缓存 一级缓存是SqlSession级别的缓存,一般一个请求对应一个SqlSession,缓存时 Executor 执行器内部会将sql信息和内容缓存进入HashMap中,不同的sqlSession间缓存互不影响。 二级缓存 二级缓存是基于mapper级别的缓存,多个sqlSession操作一个Mapper的sql,可共用缓存。 一级缓存查看源码: 看到最后 这个缓存被存入PerpetualCache中的cache hashmap中,其中key是hash计算出的值(包名类名sql...
2022-03-04 13:19:32
310
原创 mybatis 核心配置
<configuration> <!--加载外部的properties文件--> <properties resource="jdbc.properties"></properties> <!--开启二级缓存 --> <settings> <setting name="cacheEnabled" value="true"/> </settings> ..
2022-03-04 12:08:21
130
原创 Mybatis 动态sql
if:根据条件包含 where 子句的一部分 <select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <if test="title != null"> AND title like #{title} </if> <if test="author != null and author.name != nu
2022-03-04 09:58:18
478
原创 Mybatis启动流程
加载并初始化 将配置核心文件sqlMapConfigx.xml 和mapper.xml,以及注解的配置加载进内存,使用sqlSessionFactoryBuilder.builder(xx),来解析配置,并封装成Configuration中,sql信息封装入mappedstatment中 执行sql,用factory.openSession 获取sqlSession,sqlSession执行查询后,sqlSession将任务委派给Executor,Executor负责缓存的维护,Executor将任..
2022-03-04 00:13:20
396
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人