mybatis 源碼學習(一)配置文件初始化

mybatis是項目中常用到的持久層框架,今天我們學習下mybatis,隨便找一個例子可以看到通過讀取配置文件建立SqlSessionFactory,然後在build拿到關鍵的sqlsession,這是我從網上隨便找了下例子,

 

 

關鍵的方法在於new SqlSessionFactoryBuilder().build(reader);

 

 

可以看到parser.parse() 返回的結果是Configuration ,而mybatis所有的配置文件初始化在這個類裏面,這個是很關鍵的類。

 

 

這裏可以看到讀取configuration節點,我們知道configuration節點裏面有數據源的配置以及xml文件的所在包或者路徑。

 

 

這裏是初始化mappers文件

 

拿到resource路徑進行解析,

 

 

從到這裏是不是很熟悉,解析xml文件

 

 

 

讀取出來insert 、select 、 update 、delete節點。

 

 

 

 

 

看到這個應該知道了,

 

Map<String, NodeHandler> map = new HashMap<String, NodeHandler>(); map.put("trim", new TrimHandler()); map.put("where", new WhereHandler()); map.put("set", new SetHandler()); map.put("foreach", new ForEachHandler()); map.put("if", new IfHandler()); map.put("choose", new ChooseHandler()); map.put("when", new IfHandler()); map.put("otherwise", new OtherwiseHandler()); map.put("bind", new BindHandler());

不同的標籤實現不同的類來組裝 sql.

最後把初始化的配置數據放到MappedStatement中。

 

 

最後的重頭戲來了。

 

看把成功賦值的MappedStatement再次放到configuration中。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章