mybaties-plus+springboot+postgresql多数据源配置
相关依赖的导入
<!-- Mybatis Plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1</version>
</dependency>
<!-- 多数据源 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
<!-- 分页插件 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>3.4.3.2</version>
</dependency>
配置文件中相关数据连接的配置,具体配置或说明内容可以参见官网
spring.datasource.dynamic.primary=master
spring.datasource.dynamic.strict=false
spring.datasource.dynamic.datasource.master.url=jdbc:postgresql://ip:端口/XXXdb
spring.datasource.dynamic.datasource.master.username=xxxdb_user
spring.datasource.dynamic.datasource.master.password=xxxxxx
spring.datasource.dynamic.datasource.master.driver-class-name=org.postgresql.Driver
spring.datasource.dynamic.datasource.slave_1.url=jdbc:postgresql://ip:端口/XXXdb
spring.datasource.dynamic.datasource.slave_1.username=xxxdb_user
spring.datasource.dynamic.datasource.slave_1.password=xxxxxx
spring.datasource.dynamic.datasource.slave_1.driver-class-name=org.postgresql.Driver
java类配置文件
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
//@MapperScan("com.xxx.mapper")//相关mapper扫描
public class MybatisPlusConfig {
// 此处配置是为了防止分页插件查询结果没有total值
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.POSTGRE_SQL));//数据库类型用的啥填啥
return interceptor;
}
}
使用:service层实现类不加注解默认使用的是master主数据源