Spring 對Mabatis的整合

爪哇島的流浪漢發表於2018-07-16


1.Spring與MyBatis整合
    Spring與MyBatis整合需要引入一個mybatis-spring.jar檔案包,此
    整合包由MyBatis提供,此包提供以下與整合相關的API
    
    SqlSessionFactoryBean
    為整合應用提供SqlSession物件
    
    MapperScannerConfigurer
    根據指定包批量掃描Mapper介面生成對應的例項

    SqlSessionFactoryBean在spring.xml中配置:
    <bean class="org.mybatis.spring.SqlSessionFactoryBean">
        
        <!--  指定連線資源 -->
        
        <!-- 指定對映檔案 -->
        
    </bean>    
    
    在定義MapperScannerConfigurer時,只需要指定一個掃描包即
    可,basePackage用於指定Mapper介面所在的包,在這個包及其
    子包中的Mapper介面都將被掃描到,生成對應的物件,多個包之
    間可以使用逗號或者分號進行分割

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        
        <!-- 指定掃描包 -->
        <property name="basePackage" value=""/>
        
        <!-- 指定SqlSessionFactory -->
        <property name="sqlSessionFactory" ref=""/>
        
        注意:sqlSessionFactory屬性可以不用指定,會以autowired
        方式自動注入
        
    </bean>    

    如果指定某個包下並不完全是我們定義的Mapper介面,此時可以
    使用MapperScannerConfigurer的兩個屬性縮小介面例項化的範
    圍,一個annotationClass,一個是markerInterface

    annotationClass:用於指定一個註解標記,當指定了註解標記時,
    MapperScannerConfigurer將只例項化使用了annotationClass
    註解標記的介面

    markerInterface:用於指定一個介面,當指定了介面時,MapperScannerConfigurer
    將只例項化繼承自markerInterface介面的介面

相關文章