剛剛開始學習SSM框架,對Mapper掃描加載遇到一些問題,終於解決啦。java
在Eclipse中可以經過將mapper.xml文件和mapper.java文件放在同一路徑下,進行掃描映射,可是IDEA並不能實現,spring
在spring的配置文件applicationContext.xml中,可進行mapper掃描配置sql
經過這項配置,就沒必要要在sqlMapConfig.xml文件中加載mapper映射文件了。mybatis
以下:app
<!-- 配置SqlSessionFactory--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 加載mybatis的配置文件--> <property name="configLocation" value="classpath:config/mybatis/SqlMapConfig.xml"/> <!-- 數據源--> <property name="dataSource" ref="dataSource"/> <!-- mapper.xml掃描--> <property name="mapperLocations" value="classpath:config/mapper/*.xml"/> </bean> <!-- mapper掃描器--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> <property name="basePackage" value="com.youye.mapper"/> </bean>
在配置sqlSessionFactory時,配置mapperLocations屬性,用來加載mapper.xml文件,mapper掃描器配置則如上所示。框架
mapper掃描器中的兩個property的順序不能交換,即SQLSessionFactoryBeanName必須在前。學習