第一種:接口和xml不在同一個目錄,須要在sqlSessionFactoryBean中額外 指定xml的路徑:spring
<!-- myBatis文件 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:mybatis-config.xml" /> <!-- 自動掃描entity目錄, 省掉Configuration.xml裏的手工配置 --> <property name="mapperLocations"> <list> <value>classpath:com/liuyx/**/mappers/${db}/*.xml</value> </list> </property> <property name="plugins"> <array> <ref bean="pagePlugin" /> </array> </property> </bean> <!-- mapper接口namepspace綁定方式 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.liuyx.base.**.dao" /><!-- 多個使用逗號分隔 --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> </bean>
第二種,接口和xml在同一個路徑下,能夠只配置MapperScannerConfigurer下的basePackage:sql
<!-- 配置Mybatis SqlSessionFactory 會話工廠 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 數據源 --> <property name="dataSource" ref="dataSource"/> <!-- 配置Mybatis的核心 配置文件 --> <property name="configLocation" value="classpath:mybatis-config.xml"/> </bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 基礎包 包下所的接口全掃描 --> <property name="basePackage" value='com.liuyx.**.dao' /> <!-- 注入工廠 --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> </bean>
有時間的童鞋能夠本身看看源碼。mybatis