目錄
陸續新增中,敬請期待
- 第一版
- 綜述:MyBatis核心功能
- DataSource與Session
- xml配置的解析
- SessionFactory與Session
- Mapper與動態代理
- 註解與Session:sql語句
- 註解與Session:返回值映射
- xml配置的解析:返回值映射
- MapperMethod與MapperReturn:功能獨立劃分
- 第二版
- 暫無
前言
對於MyBatis,前前後後接觸了有一段時間。最初的想法非常幼稚,只聽說可以直接把sql語句記在方法上,調方法就等於執行sql語句。我一聽,這個非常方便啊,那麼就學學吧——我就是抱着這麼簡單的心態接觸的。後來學到了點東西,也看了不少MyBatis的博客分析,才一步步感受到不同框架的思想與魅力,藉由對MyBatis源碼的學習,也摸索了後臺的方方面面。自己感覺到每一次摸索都在進步,因此我對於MyBatis的是很感激的。
大約是一六年初吧,我剛啃完了《Java編程思想》。那時對註解、動態代理、JDBC類有了一些基本的瞭解,我突然意識到實現一個最最簡單的方法->數據庫執行語句,這樣的轉換是非常簡單的。一直用着這些框架,既然基礎功能很簡單爲什麼不自己寫一個呢?隨手起名立了個項目,取名叫Verso。起初是抱着玩玩的心態,沒想到寫着寫着就不得不認真起來了,花了百來個小時慢慢磨。到了後面,我試着依次把功能獨立、分隔出來,也試着加入事務、spring對接、緩存等等。後來遇到了點事比較忙,把這個Verso項目落下了,半年後的今天重新拾起這個項目,看到當初的代碼感慨頗多。因爲此MyBatis這類框架的大部分知識,非常零散的遍佈於很多人的博客裏,對於系統的瞭解是不利的。看書呢,我認爲又太過於嚴肅了,因此要有一個系統性的博客解說,我認爲是很有必要的。一來可以整理這些知識點回饋社區,二來我的記憶十分脆弱,將這些知識整理出來當作筆記,沒有什麼壞處。
自然的,經過一段時間的摸索,這個模仿項目還是多多少少偏離了MyBatis一點點,已經不是完完全全一樣的框架了。因爲這是一個簡單版,所以MyBatis兼顧各類情況而損失效率的行爲,在這個項目裏是完全不必要的,刪去了不少,也清爽了很多。
這個系列預期會在一七年五月前陸續把這個系列寫完。