原文:MyBatis源码解读(3)——MapperMethod

在前面两篇的MyBatis源码解读中,我们一路跟踪到了MapperProxy,知道了尽管是使用了动态代理技术使得我们能直接使用接口方法。为巩固加深动态代理,我们不妨再来回忆一遍何为动态代理。 我相信在初学MyBatis的时候几乎每个人都会发出一个疑问,为什么明明是XXXDao接口,我没有用任何代码实现这个接口,但却能直接使用这个接口的方法。现在清楚了,动态代理。我们来写一个demo小程序来看看。 ...

2016-11-16 23:52 0 3410 推荐指数:

查看详情

MyBatis框架的使用及源码分析(八) MapperMethod

从 <MyBatis框架中Mapper映射配置的使用及原理解析(七) MapperProxy,MapperProxyFactory> 文中,我们知道Mapper,通过MapperProxy代理类执行他的接口方法,当mapper方法被调用的时候对应的MapperProxy会生成相应 ...

Wed Sep 20 08:29:00 CST 2017 0 2670
MyBatis源码解读(2)——MapperProxy

SqlSession可以说是整个MyBatis的重中之重,在SqlSession中涉及到前一篇四大对象:Executor、StatementHandler、ParameterHandler、ResultHandler,所以在此先只对SqlSession有一个大概的了解。 在代码中我们可以看到当我 ...

Wed Nov 16 07:44:00 CST 2016 0 6851
MyBatis Generator 源码解读

工欲善其事,必先利其器 在使用MyBatis Generator 的时候生成的XML的Mapper文件总是不尽人意,例如在处理JdbcType为VARCHAR类型是只做null判断,在Update的时候就会出现一些不符合要求的作用不会做空字符串判断,利用剩余时间研究了一下源代码 ...

Mon Jun 12 05:41:00 CST 2017 0 1761
MyBatis源码解读(1)——SqlSessionFactory

在前面对MyBatis稍微有点了解过后,现在来对MyBatis源码试着解读一下,并不是解析,暂时定为解读。所有对MyBatis解读均是基于MyBatis-3.4.1,官网中文文档:http://www.mybatis.org/mybatis-3/zh/getting-started.html ...

Tue Nov 15 07:33:00 CST 2016 4 9576
MyBatis源码解读(4)——SqlSession(上)

  在上一篇博客中提到MyBatis是如何实现代理类MapperProxy,并抛出了一个问题——是怎么执行一个具体的sql语句的,在文末中提到了MapperMethod的execute采用命令模式来判断是何种sql语句,并将具体语句的执行交由SqlSession处理。所以此篇博客正是要讲 ...

Fri Nov 18 07:55:00 CST 2016 6 24460
Mybatis源码分析:MapperMethod中内部静态类MethodSignature的作用

MethodSignature分析   MethodSignature为MapperMethod类提供了三个作用,获取待执行方法中的参数和@Param注解标注的参数名,获取标注有@MapKey的参数(@Mapkey作用在后续会讲到),方法的返回类型,获取SELECT操作时必要的标志位。以下 ...

Mon Jul 22 08:47:00 CST 2019 0 433
Mybatis源码分析:MapperMethod中内部静态类SqlCommand的作用

MapperMethod中内部静态类SqlCommand的作用   在MapperMethod初始化中,会首先初始化两个内部静态类,SqlCommand就是其中之一,SqlCommand的作用主要体现在MapperMethod类的execute()方法里,SqlCommand为其提供 ...

Sun Jul 21 23:14:00 CST 2019 0 464
mybatis源码解读(四)——事务的配置

  上一篇博客我们介绍了mybatis中关于数据源的配置原理,本篇博客介绍mybatis的事务管理。   对于事务,我们是在mybatis-configuration.xml 文件中配置的:      关于解析 <environments />标签在上一篇数据源的配置我们已经介绍 ...

Sat May 12 17:42:00 CST 2018 0 3541
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM