![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
myBatis
Che-ri-sh
这个作者很懒,什么都没留下…
展开
-
myBatis中的插件机制
插件的配置与使用在mybatis-config.xml配置文件中配置plugin结点,比如配置一个自定义的日志插件LogInterceptor和一个开源的分页插件PageInterceptor:<plugins> <plugin interceptor="com.crx.plugindemo.LogInterceptor"></plugin> <plugin interceptor="com.github.pagehelper.PageIn原创 2020-11-24 21:32:31 · 322 阅读 · 4 评论 -
myBaits的缓存机制
myBatis缓存综述为了避免相同的查询重复去数据库中取值,myBatis形成了两级缓存机制,先从第二级缓存中获取,获取不到时从第一级缓存中获取,仍然取不到时才会实际的去库中查询。其中二级缓存是SqlSessionFactory级别的,所有由同一个工厂构建出来的SqlSession共享缓存,而一级缓存是SqlSession级别的,每个SqlSession独享缓存。在实现上,myBatis以Cache接口为核心、以PerpetualCache为基本实现,构建了多个单一职能的缓存组件,这些组件,有的实现了缓原创 2020-11-23 16:49:44 · 140 阅读 · 0 评论 -
myBaits sql的配置方式与加载原理
整体流程myBatis提供了四种方式寻找sql映射语句,包括使用相对类路径的资源引用、完全限定资源定位符、类名或者包名等,相应的myBatis-config.xml的mapper结点配置为:<mappers> <!-- 使用相对于类路径的资源引用 --> <!-- <mapper resource="mybatis/CountryMapper.xml" /> --> <!-- 使用完全限定资源定位符(URL) -->原创 2020-11-18 22:11:04 · 233 阅读 · 0 评论 -
myBatis中的事务管理机制
使用方法概述事务是指满足ACID属性的一组完整操作,是数据库数据完整性和一致性的基本保障。在myBatis中有两种管理事务的方式,一种是依托于底层JDBC的事务管理,另一种是本身不处理事务,将回滚和提交操作置为空操作,由Spring等容器的事务管理机制进行接管。这两种方式在配置文件中将transactionManager属性分别配置为JDBC和MANAGED,比如配置为JDBC:<environments default="development"> <environme原创 2020-11-18 16:59:09 · 473 阅读 · 0 评论 -
myBatis sql的执行过程
整体流程myBatis中的sql查询从整体上由三部分构建组成,SqlSession提供对外的接口,包括数据的增删改查和事务的提交回滚等控制。Executor组件负责协调数据操作、集成事务控制Transaction和增加缓存层等。由第三层Handler实际的执行数据操作。Executor组件CachingExecutor在sql的执行过程中加一层缓存,实际从库中查询过后,将查询结果放入缓存中,下一次同样的查询将直接从缓存中取,以提升查询效率。使用代理模式来加一层缓存,CachingExec原创 2020-11-18 10:47:16 · 130 阅读 · 0 评论