![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mybatis-面试题
想到一点或遇到一点就补充一点
bobo306
这个作者很懒,什么都没留下…
展开
-
mybatis缓存
一级缓存 在一个sqlSession中,对User表根据id进行两次查询,发现只打印一条查询语句 在两次查询中加入增删改会触发两次查询,因为清空了一级缓存 mybatis一级缓存默认开启,由BaseExecutor的createCacheKey方法来执行 CacheKey cacheKey = new CacheKey(); //MappedStatement 的 id // id就是Sql语句的所在位置包名+类名+ SQL名称 cacheKey.update(ms.getId()); //原创 2022-01-12 16:41:09 · 254 阅读 · 0 评论 -
mybatis初始化流程
传统开发方式 首先通过Resources获取sqlMapConfig.xml和mapper.xml中的文件流 InputStream resourceAsStream = Resources.class.getClassLoader.getResourceAsStream(path); 之后通过SqlSessionFactoryBuilder的builder方法将字节输入流解析为Configuration,Configuration中主要包括dataSource和sql语句,封装到SqlSessio原创 2022-01-12 16:10:43 · 373 阅读 · 0 评论