加载中
Mybatis3.3.x技术内幕(一):SqlSession和SqlSessionFactory列传

深入Mybatis3.3.x源码,探究SqlSession和SqlSessionFactory的体系结构,挖掘它们之间的一世爱恨情仇。

Spring查找方法注入(Lookup method injection)的底层实现原理

Spring额外提供了三种不太常见的特殊注入方式,分别是Method injection(方法注入)、Lookup method injection(查找方法注入)、Arbitrary method replacement(强行替换注入),本文重点探...

Mybatis3.4.x技术内幕(十六):Mybatis之sqlFragment(可复用的sql片段)

今天,我们将分析Mybatis之sqlFragment,可以翻译为sql片段,它的存在价值在于可复用sql片段,避免到处重复编写。

Mybatis3.3.x技术内幕(十):Mybatis初始化流程(下)

Mybatis初始化流程,其实就是组装重量级All-In-One对象Configuration的过程,主要分为系统环境参数初始化和Mapper映射初始化。

Mybatis3.3.x技术内幕(十五):Mybatis之foreach批量insert,返回主键id列表(修复Mybatis返回null的bug)

Mybatis在执行批量插入时,如果使用的是for循环逐一插入,那么可以正确返回主键id。如果使用动态sql的foreach循环,那么返回的主键id列表,可能为null,这让很多人感到困惑;本文将分析问题产...

Mybatis3.3.x技术内幕(四):五鼠闹东京之执行器Executor设计原本

在Mybatis中,SqlSession对数据库的操作,将委托给执行器Executor来完成,而Executor由五鼠组成,分别是:简单鼠SimpleExecutor、重用鼠ReuseExecutor、批量鼠BatchExecutor、缓存鼠Caching...

SpringMVC4.x源码分析(二):DispatcherServlet初始化过程

DispatcherServlet的类继承图。 (Made In IntelliJ IDEA) DispatcherServlet是一个Servlet,那么它就遵循Servlet的生命周期。如上图所示,DispatcherServlet还实现了Spring IOC的Aware接口...

2018/06/09 15:31
625
SpringMVC4.x源码分析(六):消息转换器自动转换json、xml原理分析

先来一个简单的例子,首先在pom.xml内加入处理json、xml的jackson依赖包。 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId>...

2018/06/19 21:12
261
SpringMVC4.x源码分析(一):SpringMVC入门例子

Spring+SpringMVC+MyBatis简称SSM,它们是如此重要,分析SpringMVC底层源码实现原理,绝对物有所值,对Spring Boot及Spring Cloud的学习也大有裨益。 IDE工具:IntelliJ IDEA 2018 Java:JDK...

2018/06/09 09:18
682
Mybatis3.3.x技术内幕(二):动态代理之投鞭断流(自动映射器Mapper的底层实现原理)

声明一个interface接口,没有任何实现类,却要求实例化接口对象,并能调用接口方法返回业务数据,老一辈IT革命家给出评论:这简直是无--稽---之谈。然而,Mybatis却大言不惭的说:Look at m...

Mybatis3.3.x技术内幕(六):StatementHandler(Box stop here)

神通广大的猴哥SqlSession,把琐事委托给二弟Executor来处理,二弟Executor可不那么傻,于是它又把事情委托给三弟StatementHandler,三弟憨厚老实,本着Box stop here的精神,无怨无悔不说,...

Mybatis3.4.x技术内幕(二十):PageHelper分页插件源码及原理剖析

com.github.pagehelper.PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件。

SpringMVC4.x源码分析(四):一个request请求的完整流程和各组件介绍

本节主要目标是探查一个request请求的完整流程,以及流程中各种web组件的简单介绍,组件的细节,将在后续组件专题文章中详细介绍。 DispatcherServlet初始化完毕后,我们发现它注册2个Handl...

2018/06/11 21:36
265
Mybatis3.4.x技术内幕(二十一):参数设置、结果封装、级联查询、延迟加载原理分析

Mybatis在执行查询时,其参数设置、结果封装、级联查询、延迟加载,是最基本的功能和用法,我们有必要了解其工作原理,重点阐述级联查询和延迟加载。 1、MetaObject MetaObject用于反射创建对...

Mybatis3.3.x技术内幕(三):Mybatis事务管理(将颠覆你心中目前对事务的理解)

在没有事务管理的情况下,对数据库的一切update操作都将是无效的。说实话,我并不赞同这句话,这将给读者带来更多迷惑。

Mybatis3.3.x技术内幕(十二):Mybatis之TypeHandler

Mybatis中的TypeHandler有两个功能,一个是完成javaType至jdbcType的转换,另外一个是完成jdbcType至javaType的转换。

2016/05/06 21:03
1K
Mybatis3.3.x技术内幕(九):Mybatis初始化流程(中)

Mybatis初始化流程,其实就是组装重量级All-In-One对象Configuration的过程,主要分为系统环境参数初始化和Mapper映射初始化。

Mybatis3.3.x技术内幕(十四):Mybatis之KeyGenerator

在Mybatis中,执行insert操作时,如果我们希望返回数据库生成的自增主键值,那么就需要使用到KeyGenerator对象。

Mybatis3.3.x技术内幕(十三):Mybatis之RowBounds分页原理

Mybatis可以通过传递RowBounds对象,来进行数据库数据分页操作,然而遗憾的是,该分页操作是对ResultSet结果集进行分页,也就是人们常说的逻辑分页,而非物理分页。

没有更多内容

加载失败,请刷新页面

返回顶部
顶部