![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MyBatis
深入解读Mybatis框架的工作原理
双子孤狼
关注孤狼,和孤狼一起学习!
知道的多一点,不知道的就少一点!
创作不易,如需转载,请注明出处!
展开
-
【MyBatis系列10】写给大忙人看的,MyBatis日志如何做到兼容所有常用的日志框架
MyBatis日志原理分析前言MyBatis日志分类简单谈谈SLF4JMyBatis日志实现原理日志的解析LogFactoryjdbc log总结前言日志,在我们开发中是一个非常重要的话题,良好的日志打印可以帮助我们快速的定位问题,可能现在我们开发用到最多的日志框架就是slf4j了,但是日志还有其他很多优秀的框架,比如:Apache Common Log,Log4j,java.util.logging等。MyBatis作为一款优秀的ORM框架,定义了一套统一的日志接口供应用层调用,而底层却利用适配器模式原创 2020-10-12 13:20:55 · 2443 阅读 · 22 评论 -
【MyBatis系列9】只要五分钟,彻底搞懂MyBatis插件原理及PageHelper原理
MyBatis插件实现原理前言MyBatis中插件是如何实现的MyBatis插件的使用MyBatis插件实现原理插件的加载插件如何进行拦截拦截Executor对象其他对象插件解析插件执行流程假如一个对象被代理很多次PageHelper插件的使用PageHelper插件原理为什么PageHelper只对startPage后的第一条select语句有效不通过插件能否改变MyBatis的核心行为总结前言提到插件,相信大家都知道,插件的存在主要是用来改变或者增强原有的功能,MyBatis中也一样。然而如果我们对原创 2020-10-06 17:31:12 · 3252 阅读 · 16 评论 -
【MyBatis系列8】给我五分钟,带你彻底掌握MyBatis的缓存工作原理
MyBatis中一级缓存和二级缓存分析前言总结前言MyBatis中一级缓存和二级缓存分析总结MyBatis中一级缓存和二级缓存分析请关注我,和孤狼一起学习进步。原创 2020-09-28 19:13:47 · 9159 阅读 · 26 评论 -
【MyBatis系列7】原来SqlSession只是个甩手掌柜,真正干活的却是Executor等四大对象
Execute前言总结前言Execute总结Execute请关注我,和孤狼一起学习进步。原创 2020-09-26 10:31:57 · 3372 阅读 · 11 评论 -
【MyBatis系列6】想要学会MyBatis,看完这一篇就够了
深入剖析SqlSession前言SqlSession总结前言作为MyBatis四大对象之一的SqlSession,可以说是最复杂的对象了,SqlSession就是用来真正执行sql语句的对象,执行一条sql语句,两个关键点就是JavaBean参数要和数据库字段映射,返回结果也要实现数据库字段和JavaBean的映射,那么SqlSession是如何做到这一切的呢?请往下看。。。本文将带您揭开SqlSession的神秘面纱。SqlSession总结本文主要分析了MyBatis中的四大核心对象:Sq原创 2020-09-23 19:56:38 · 6867 阅读 · 12 评论 -
【MyBatis系列5】MyBatis4大核心对象SqlSessionFactoryBuiler,SqlSessionFactory,SqlSession,Mapper
MyBatis4大核心对象前言MyBatis四大核心对象SqlSessionFactoryBuiler(2+1)方法分析InputStream和ReaderSqlSessionFactoryDefaultSqlSessionFactoryExecutorSqlSessionManagerSqlSessionMapper四大对象生命周期总结前言前几篇篇我们简单讲解了MyBatis的简单用法,以及一对一和一对多以及多对多的相关动态sql查询标签的使用,也提到了嵌套查询引发了N+1问题,以及延迟加载相关功能,原创 2020-09-14 16:14:18 · 4263 阅读 · 6 评论 -
【MyBatis系列4】一对一,一对多,多对多查询及延迟加载(N+1问题)分析
@TOC前言上一篇分析了MyBatis中的配置的使用,而MyBatis中动态标签功能也非常强大,本文不会介绍全部标签,主要是针对resultMap来介绍复杂查询该如何利用sql标签来配置动态sql。固定参数的查询首先我们来看一个带有固定参数的查询语句该如何实现:UserMapper.java中新增如下两个方法: List<LwUser> listUserByUserName(@Param("userName") String userName); List<LwUser&g原创 2020-09-13 10:02:57 · 2899 阅读 · 9 评论 -
【MyBatis系列3】收藏!最全MyBatis中XML映射文件(Mapper)标签分析及示例
MyBatis映射文件Mapper XML文件标签前言Mapper文件标签selectidparameterTypeparameterMapresultTyperesultMapflushCacheuseCachetimeoutfetchSizestatementTyperesultSetTypedatabaseIdresultOrderedresultSetslanginsertuseGeneratedKeyskeyPropertykeyColumn获取自增主键通过selectKey获取自定义列updat原创 2020-09-11 15:01:47 · 4363 阅读 · 7 评论 -
【MyBatis系列2】最全MyBatis核心配置文件总结,可以作为工具先收藏了
yBatis核心配置文件解析前言configurationpropertiesproperties优先级settingstypeAliases直接指定类名只指定包名系统默认提供的别名typeHandlers自定义typeHandlersobjectFactorypluginsenvironments事务管理器数据源UNPOOLEDPOOLEDJNDI自定义数据源databaseIdProvidermappers总结前言上一篇我们通过将MyBatis和传统JDBC,DBUtils,以及Hibernate作原创 2020-09-09 16:28:33 · 3746 阅读 · 7 评论 -
【MyBatis系列1】MyBatis快速入门demo(基于传统JDBC,DBUtils,Hibernate的对比分析)
JDBC,DBUtils,Hibernate,Mybatis对比分析前言JDBC编程Apache DbUtilsORM模型常见的ORM框架HibernateMyBatisMyBatis简单示例总结前言作为一名Java后台开发,与数据库打交道是必不可少的一部分,那么与数据库打交道就涉及到了如何建立连接,如何将数据库的表转换为Java对象等等,这些都是需要考虑的问题,所以Java中提供了JDBC来供我们操作数据库JDBC编程JDBC(Java Data Base Connectivity),早先的Jav原创 2020-09-04 19:18:29 · 3047 阅读 · 5 评论