MyBatis:mapperLocations、basePackage多数据路径配置。

小鱼儿 2023-06-19 09:31 107阅读 0赞

单数据路径配置

  1. <bean id="sqlSessionFactory2" class="org.mybatis.spring.SqlSessionFactoryBean">
  2. <property name="dataSource" ref="dataSource2" />
  3. <property name="mapperLocations" value="classpath*:com/loongshawn/dao/impl/mapper2/pmp/*.xml" />
  4. <property name="typeAliasesPackage" value="com.autonavi.domain" />
  5. </bean>
  6. <!-- mybatis.spring自动映射 -->
  7. <bean id="mybatisMapperScanner2" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  8. <property name="basePackage" value="com.loongshawn.pmp" />
  9. <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory2" />
  10. </bean>

多数据路径配置

  1. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  2. <property name="dataSource" ref="dataSource" />
  3. <property name="mapperLocations">
  4. <array>
  5. <value>classpath:com/loongshawn/dao/impl/mapper/*.xml</value>
  6. <value>classpath:com/loongshawn/dao/impl/mapper3/pmc/*.xml</value>
  7. </array>
  8. </property>
  9. <property name="typeAliasesPackage" value="com.autonavi.domain" />
  10. </bean>
  11. <!-- mybatis.spring自动映射 -->
  12. <bean id="mybatisMapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  13. <property name="basePackage" value="com.loongshawn.dao.impl.mapper,com.loongshawn.dao.impl.mapper3" />
  14. <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
  15. </bean>

basePackage属性多路径配置仅需通过英文逗号”,”分隔开不同路径即可。

以上实现方式均验证无误。

常相关异常

  1. Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'censoringAlarmTask': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.autonavi.dao.impl.mapper3.pmc.CensoringMapper com.autonavi.method.pmc.AlarmTask.censoringMapper; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.autonavi.dao.impl.mapper3.pmc.CensoringMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
  2. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:301)
  3. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1186)
  4. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
  5. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
  6. at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
  7. at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
  8. at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
  9. at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
  10. at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:706)
  11. at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:762)
  12. at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
  13. at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:109)
  14. at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691)
  15. at org.springframework.boot.SpringApplication.run(SpringApplication.java:320)
  16. at org.springframework.boot.SpringApplication.run(SpringApplication.java:952)
  17. at org.springframework.boot.SpringApplication.run(SpringApplication.java:941)
  18. at com.autonavi.method.Initialization.initialize(Initialization.java:30)
  19. at com.autonavi.PmsApp.main(PmsApp.java:41)
  20. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  21. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  22. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  23. at java.lang.reflect.Method.invoke(Method.java:497)
  24. at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
  25. Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.autonavi.dao.impl.mapper3.pmc.CensoringMapper com.autonavi.method.pmc.AlarmTask.censoringMapper; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.autonavi.dao.impl.mapper3.pmc.CensoringMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
  26. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:522)
  27. at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
  28. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:298)
  29. ... 22 more
  30. Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.autonavi.dao.impl.mapper3.pmc.CensoringMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
  31. at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1118)
  32. at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:967)
  33. at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:862)
  34. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:494)
  35. ... 24 more

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VuX2pva2Vy_size_16_color_FFFFFF_t_70

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VuX2pva2Vy_size_16_color_FFFFFF_t_70 1

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VuX2pva2Vy_size_16_color_FFFFFF_t_70 2

发表评论

表情:
评论列表 (有 0 条评论,107人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ISCSI路径配置(二)

    [搭建iscsi存储系统(一)][iscsi] (1).配置ISCSI多路径实现磁盘挂载高可用   如果存储服务器到交换机只有一条线路的时候,那么一条线路出现故障,整个就没