原创 Mybatis學習系列(十三):Mybatis整合spring

Mybatis整合spring主要是通過mybatis-spring這個jar包來處理的,主要有兩個重要的過程:          1.SqlSessionFactory,SqlSession的初始化          2.mapper的

原创 Mybatis學習系列(八):Insert,update,delete的執行

由於MapperMethod中Insert,update,delete這三個的執行方式是一樣的,我們統一看一下 case INSERT: { Object param = method.convertArgsToSqlCom

原创 Mybatis學習系列(十一):RowBounds內存分頁

Mybatis默認的分頁是通過RowBounds參數來實現的,並且是在內存裏面進行的,我們看一下整體的流程 在獲取MapperMethod的時候我們發現,通過方法的入參是否有RowBounds參數來判斷是否分頁 this.rowBoun

原创 ShardingJdbc2.X學習總結系列(十三):源碼解析—SQL解析之Insert語句的values解析

這一篇我們主要具體看一下Insert語句的values解析 public void parse(final InsertStatement insertStatement) { Collection<Keyword> v

原创 ShardingJdbc2.X學習總結系列(十二):源碼解析—SQL解析之表名解析

這篇文章我們會詳細看一下SQL裏面表名解析的詳細過程。不管是增刪改查最終表結構的解析都是走TableReferencesClauseParser 這個解析類,我們看一下這個類的結構圖 我們看一下這個parse方法的整體調用流程 pub

原创 Mybatis學習系列(二):源碼解析—SqlsessionFactory

在使用mybatis的第一步其實就是加載配置信息,生成SqlSessionFactory初始化Configuration對象。 final SqlSessionFactoryBean sessionFactory = new SqlSe

原创 Mybatis學習系列(一):開篇介紹

        MyBatis 是Apache的一個Java開源項目,是一款優秀的持久層框架,它支持定製化 SQL、存儲過程以及高級映射。Mybatis可以將Sql語句配置在XML文件中,避免將Sql語句硬編碼在Java類中。 特點: 1

原创 Mybatis學習系列(三):源碼解析—解析mybatis-config.xml

在初始化配置的過程中我們看到這樣一段代碼:解析mybatis-config.xml裏面的配置信息,初始化configuration if (this.configLocation != null) { //根據配置文件生成X

原创 Dubbo學習之路(十二):Filter—ExceptionFilter(異常處理)

上一篇主要是瞭解了Dubbo的一些常用的比較重要的原生Filter,包括consumer和provider端的。 在項目開發中呢,我們經常會遇到一些異常,有時候我們會感覺有點懵,不明白設定的自定義異常我們捕獲不道,拋出了我們不想要的異常信

原创 Dubbo學習之路(九):集羣容錯-Cluster

前面我們已經走到了,獲取到了所有有效的可調用的Invoker,那麼正式的調用是什麼情況呢? 我們知道在服務發現的時候最後一步獲取的Invoker的時候其實是調用了cluster.join方法,這個方法主要是把多個Invoker封裝成一個I

原创 Dubbo學習之路(十一):Filter(過濾器)

Filter(過濾器):就是在真正的請求前後做一些相應的通用的處理,比如權限的驗證,日誌的打印等。在很多的框架中都有這個,比如Spring,Mybatis,Dubbo等框架都有使用這個。今天主要是看一下在Dubbo中Filter的使用和擴

原创 Dubbo學習之路(十):集羣容錯-LoadBalance

當我們通過路由規則處理以後還是獲取到了多個Invoker,但是每次發次調用必然只是調用某一個有效的Invoker,那這個負載均衡的功能就是LoadBalance去實現的,我們依然先來看一下這個幾口的實現類和方法。 Invoker<T>

原创 Dubbo學習之路(十三):RpcContext隱式傳參

RpcContext:試一次請求的零時的上下文記錄器,內部的實現是一個 ThreadLocal,我們看一下內部實現 private static final ThreadLocal<RpcContext> LOCAL = new Thr

原创 Dubbo學習之路(七):集羣容錯-Directory

上一篇文章說到服務調用流程,其中有幾個很重要的名詞,今天就主要說一下Directory 我們知道,主要是利用這個類,去獲取到當前註冊的所有的Invoker,我們先看一下這個接口的實現類和方法 這裏一共有兩個實現類:StaticDirec

原创 Dubbo學習之路(八):集羣容錯-Router

根據Directory我們已經獲取到了所有註冊到註冊中心的Invoker,那如果我們需要做灰度發佈,只容許用戶訪問某一些服務怎麼辦呢? 這裏其實就是Router的功能了,根據路由規則,獲取到有效的(可訪問的Invoker)。 invok