在上一篇博客中提到MyBatis是如何實現代理類MapperProxy,並拋出了一個問題——是怎么執行一個具體的sql語句的,在文末中提到了MapperMethod的execute采用命令模式來判斷是何種sql語句,並將具體語句的執行交由SqlSession處理。所以此篇博客正是要講 ...
Configuration 對象保存了所有mybatis的配置信息,主要包括: mybatis configuration.xml 基礎配置文件 mapper.xml 映射器配置文件 讀取配置文件 前面例子有這么一段代碼: 第 行代碼是獲取基礎配置文件mybatis configuration.xml 的字節流。接着我們將該字節流對象作為 bulid 方法的參數傳入進去。bulid 方法源碼如下 ...
2018-05-07 20:31 1 5507 推薦指數:
在上一篇博客中提到MyBatis是如何實現代理類MapperProxy,並拋出了一個問題——是怎么執行一個具體的sql語句的,在文末中提到了MapperMethod的execute采用命令模式來判斷是何種sql語句,並將具體語句的執行交由SqlSession處理。所以此篇博客正是要講 ...
SqlSession可以說是整個MyBatis的重中之重,在SqlSession中涉及到前一篇四大對象:Executor、StatementHandler、ParameterHandler、ResultHandler,所以在此先只對SqlSession有一個大概的了解。 在代碼中我們可以看到當我 ...
在前面兩篇的MyBatis源碼解讀中,我們一路跟蹤到了MapperProxy,知道了盡管是使用了動態代理技術使得我們能直接使用接口方法。為鞏固加深動態代理,我們不妨再來回憶一遍何為動態代理。 我相信在初學MyBatis的時候幾乎每個人都會發出一個疑問,為什么明明是XXXDao接口,我沒有用 ...
工欲善其事,必先利其器 在使用MyBatis Generator 的時候生成的XML的Mapper文件總是不盡人意,例如在處理JdbcType為VARCHAR類型是只做null判斷,在Update的時候就會出現一些不符合要求的作用不會做空字符串判斷,利用剩余時間研究了一下源代碼 ...
在前面對MyBatis稍微有點了解過后,現在來對MyBatis的源碼試着解讀一下,並不是解析,暫時定為解讀。所有對MyBatis解讀均是基於MyBatis-3.4.1,官網中文文檔:http://www.mybatis.org/mybatis-3/zh/getting-started.html ...
在Mybatis源碼解析,一步一步從淺入深(二):按步驟解析源碼中我們看到了XMLConfigBuilder(xml配置解析器)的實例化。而且這個實例化過程在文章:Mybatis源碼解析,一步一步從淺入深(三):實例化xml配置解析器(XMLConfigBuilder)也進行了詳細的闡述 ...
上一篇博客我們介紹了mybatis中關於數據源的配置原理,本篇博客介紹mybatis的事務管理。 對於事務,我們是在mybatis-configuration.xml 文件中配置的: 關於解析 <environments />標簽在上一篇數據源的配置我們已經介紹 ...
config.xml解析為org.w3c.dom.Document 本文首先來簡單看一下MyBatis中將config.xml解析為org.w3c.dom.Document的流程,代碼為上文的這部分: 第3行的代碼實現為: 相當於就是將輸入的路徑轉換為一個字 ...