刚刚开始学习SSM框架,对Mapper扫描加载遇到一些问题,终于解决啦。

在Eclipse中能够通过将mapper.xml文件和mapper.java文件放在同一路径下,进行扫描映射,但是IDEA并不能实现,

在spring的配置文件applicationContext.xml中,可进行mapper扫描配置

通过这项配置,就不必要在sqlMapConfig.xml文件中加载mapper映射文件了。

如下:

 <!-- 配置SqlSessionFactory-->
    <bean >
        <!-- 加载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必须在前。

 

相关文章:

  • 2021-11-09
  • 2021-09-25
  • 2022-12-23
  • 2022-01-01
  • 2022-01-09
  • 2022-12-23
  • 2022-01-01
  • 2022-01-02
猜你喜欢
  • 2021-07-18
  • 2021-10-25
  • 2021-06-18
  • 2022-01-01
  • 2021-04-28
相关资源
相似解决方案