reader reader = resources.getresourceasreader("mybatis-config.xml");
sqlsessionfactory = new sqlsessionfactorybuilder().build(reader);
在上面的**中,我們會先載入配置檔案,獲取乙個輸入流。然後通過sqlsessionfactorybuilder物件的build()方法構建sqlsessionfactory物件。下面我們來看一下這個方法的**:
//sqlsessionfactorybuilder類
public sqlsessionfactory build(reader reader)
public sqlsessionfactory build(reader reader, string environment, properties properties) catch (exception var14) finally catch (ioexception var13)
}return var5;
}public sqlsessionfactory build(configuration config)
從上面的**我們可以看出mybatis配置檔案是通過xmlconfigbuilder進行解析的。這次我們看一下xmlconfigbuilder的parse方法,如下:
//xmlconfigbuilder類
public configuration parse() else
}
注意xpath表示式——/configuration。這個表示式代表的是mybatis配置檔案的節點,這裡通過xpath選定這個節點,並傳遞給parseconfiguration方法。
private void parseconfiguration(xnode root) catch (exception var3)
}
到此,乙個完整的配置解析過程就出來了,每個節點的解析邏輯均封裝在相應的方法中。 檔案配置pro git 第一章
這兩天朋友幾篇文章介紹了改檔案配置的文章.關聯文章的位址 概述 git命令繁雜,而且用起來相稱難以上手。為了熟練應用git,本系列文章將解析git的官方參考文件pro git,讓讀者可以之氣所以然,從道理上弄明git的執行道理 然後結合工程專案的需要和其中湧現的問題,提供響應的解決方法,從而讓讀者更...
程式設計珠璣 第一章解析
問題 輸入 乙個最多包含n個正整數的檔案,每個數都小於n n 1000w 如果在輸入檔案中有任何整數重複出現就是致命錯誤。沒有其他資料與該整數相關聯。輸出 按公升序排列的輸入整數的列表。約束 最多有 大約 1 mb的記憶體空間可用,有充足的磁碟儲存空間可用。執行時間最多幾分鐘,執行時間為10秒就不需...
第一章 構造過程抽象
第一段話太有哲學味道,必須寫下來好好品味 心智的活動,除了盡力產生各種簡單的認識之外,主要表現在如下三個方面 1 將若干簡單認識組合為乙個復合認識,由此產生出各種複雜的認識。2 將兩個認識放在一起對照,不管它們如何簡單或者複雜,在這樣做時並不將它們合而為一。由此得到有關它們的相互關係的認識。3 將有...