spring-boot 项目整合使用多种数据库

当遇到项目需要的时候,一个项目同时要操作几种不同的数据库时,那么怎么解决呢?

我这里遇到了,即要使用postgresql数据库,又要使用mysql数据库。根据功能的不同使用不同的数据库。

一、pom.xml

<!-- postgresql driver -->
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>42.2.12</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/libs/postgresql-42.2.12.jar</systemPath>
        </dependency> 
<!-- Mysql驱动包 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.baomidou/dynamic-datasource-spring-boot-starter -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>3.0.0</version>
        </dependency>

导入苞米豆的依赖,不同数据库的依赖。

二、application.yml

spring:
  datasource:
    dialect: postgres
    dynamic:
      primary: master
      datasource:
        master:
          # postgres --------------------------
          driver-class-name: org.postgresql.Driver
          url: jdbc:postgresql://localhost:5432/wform
          username: postgres
          password: postgres
        mysql:
          # mysql --------------------------
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://127.0.0.1:3306/ecard_db_yh?useUnicode=true&serverTimezone=GMT%2B8&characterEncoding=utf8&useSSL=false&tinyInt1isBit=true
          username: root
          password: helloliuting001

三、方法使用

@DS 的值根据功能不同选择不同的数据库。


@Controller
@Slf4j
public class IndexController {
    @Autowired
    private JdbcTemplate jdbc;

    @GetMapping("/")
    @DS(value = "mysql") //选择使用哪个数据库资源
    public String index(){
        String sql="select * from ecs_person  where person_id=1";
        Map<String,Object> map=jdbc.queryForMap(sql);
        log.info(JSONObject.toJSONString(map));
        return "index";
    }
}

以上经过测试,放心使用。

只是需要导入苞米豆的依赖,人家已经给你全部写好了,配置一下,直接用就可以了。:

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值