先确认一下依赖
第一 是否引入了mybatis-plus多数据源,如果引入了请将版本保持在3.5.0以上
xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>${dynamic-datasource.version}</version>
</dependency>
xml
<dynamic-datasource.version>3.5.0</dynamic-datasource.version>
如果出现了com.baomidou.dynamic.datasource.creator.DataSourceCreator类相关的错误大概率出现了多个DataSourceCreator提供者,可以搜索哪里使用了DataSourceCreator并指定
我这里使用的是druid即
java
@Resource(name = "druidDataSourceCreator")
private DataSourceCreator dataSourceCreator;
如果出现了未指定主数据源可以自己创建一个当然也可能是配置文件问题
yaml
spring:
datasource:
dynamic:
#默认数据源
primary: master
datasource:
#人大金仓
master:
driver-class-name: com.kingbase8.Driver
username: system
password: 123456
url: jdbc:kingbase8://127.0.0.1:54321/数据库名?currentSchema=模式名&allowEncodingChanges=true&clientEncoding=UTF8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
type: com.alibaba.druid.pool.DruidDataSource
name: master
#mysql
slave:
url: jdbc:mysql://127.0.0.1:3306/数据库名?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&allowPublicKeyRetrieval=true
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
name: slave
正常可以不创建
java
@Configuration
public class DruidDataSourceConfiguration {
@Bean
@ConditionalOnMissingBean
@ConfigurationProperties(prefix = "spring.datasource.master")
public DataSource createMasterDataSource() {
return new DruidDataSource();
}
}
第二 是否引入了seata,如果引入了请保持在支持pgsql的版本
xml
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-seata</artifactId>
<version>2.2.3.RELEASE</version>
<exclusions>
<exclusion>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
</exclusion>
</exclusions>
</dependency>
之后就是导入依赖,jdk可以去官网直接下载,选择版本之后选择驱动程序并下载指定版本,比如jdbc,之后就可以打成maven本地仓库引入或者按照官方教程使用
xml
<dependency>
<groupId>com.kingbase</groupId>
<artifactId>kingbase8</artifactId>
<version>${kingbase-connector-java.version}</version>
</dependency>
最好再想想那些还能和数据库搭上边
完结撒花
ps:还有我试过下载win安装版本的人大金仓,成功把注册表给搞炸了,不知道是操作失误还是啥,请注意一下