原文: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