1. 程式人生 > >Mybatis之載入Mapper介面和mapper XML

Mybatis之載入Mapper介面和mapper XML

開發十年,就只剩下這套架構體系了! >>>   

概述

Mybatis載入Mapper介面有兩個入口:一個是指定mapper xml,另一個是指定Mapper介面。

mapper xml

通過指定mapper xml的路徑,Mybatis使用XMLMapperBuilder類來載入解析mapper xml檔案。最後會使用mapperRegistry.addMapper(type)來載入,這個type就是mapper xml的namespace屬性。

Mapper介面

指定Mapper介面,Mybatis使用方法mapperRegistry.addMapper(type)來載入,在這個方法內部會使用類MapperAnnotationBuilder來解析Mapper介面上的註解資訊,首先是載入Mapper介面對應的mapper xml檔案,然後在解析註解資訊。其中怎麼找到Mapper介面的mapper xml檔案呢?將類名轉為xml路徑,比如:cre.mybatis.mapper.BookMapper -> cre/mybatis/mapper/BookMapper.xml。

總結

我們使用兩個入口都可以讓Mybatis載入我們的Mapper,但是使用Mapper介面的話,預設的mapper xml路徑就是有要求的。所以使用mapper xml路徑