dynamic-datasource initial loaded [0] datasource,Please add your primary datasource or check your configuration
时间: 2023-11-28 20:46:16 浏览: 36
这个错误提示表明动态数据源没有加载到数据源,可能是因为没有配置主数据源或者配置有误。可以按照以下步骤进行排查:
1.检查配置文件中是否正确配置了主数据源,如果没有,需要添加主数据源的配置。
2.检查配置文件中是否正确配置了动态数据源,包括数据源的名称、类型、URL、用户名、密码等信息。
3.检查数据源的连接是否正常,可以使用telnet命令测试数据源的连接是否正常。
4.检查动态数据源的版本是否正确,如果版本不正确,可能会导致数据源无法加载。
以下是一个可能的解决方案:
```xml
<!-- 配置主数据源 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<!-- 配置动态数据源 -->
<bean id="dynamicDataSource" class="com.baomidou.dynamic.datasource.DynamicRoutingDataSource">
<property name="primary" value="dataSource" />
<property name="dataSourceMap">
<map>
<entry key="slave1" value-ref="slave1DataSource" />
<entry key="slave2" value-ref="slave2DataSource" />
</map>
</property>
</bean>
<!-- 配置从数据源 -->
<bean id="slave1DataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.slave1.url}" />
<property name="username" value="${jdbc.slave1.username}" />
<property name="password" value="${jdbc.slave1.password}" />
</bean>
<bean id="slave2DataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.slave2.url}" />
<property name="username" value="${jdbc.slave2.username}" />
<property name="password" value="${jdbc.slave2.password}" />
</bean>
```