Mybatis之載入Mapper介面和mapper XML
阿新 • • 發佈:2019-03-30
概述
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路徑