spring boot 多数据源dynamic-datasource集成图数据库neo4

一、多数据源模块pom文件添加依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <groupId>com.skynet</groupId>
        <artifactId>skynet-common</artifactId>
        <version>3.6.0</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    
    <artifactId>skynet-common-datasource</artifactId>
	
    <description>
        skynet-common-datasource多数据源
    </description>

    <dependencies>

		<!-- Druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.11</version>
        </dependency>

        <!-- Dynamic DataSource -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>${dynamic-ds.version}</version>
        </dependency>
        
        <!-- SpringBoot Seata -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
        </dependency>

        <!-- 此依赖需要自行添加到本地仓库 -->
        <dependency>
            <groupId>cn.com.vastdata</groupId>
            <artifactId>vastbase</artifactId>
            <version>2.0</version>
        </dependency>


        <dependency>
            <groupId>org.neo4j</groupId>
            <artifactId>neo4j-jdbc-driver</artifactId>
            <version>3.5.2</version>
        </dependency>

    </dependencies>
</project>

二、创建Neo4j接口

         接口代码如下:

package com.skynet.common.datasource.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.baomidou.dynamic.datasource.annotation.DS;

/**
 * 从库数据源
 *
 * @author skynet
 */
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@DS("Neo4j")
public @interface Neo4j
{

}

yml配置文件添加

dynamic:
      druid:
        initial-size: 5
        min-idle: 5
        maxActive: 20
        maxWait: 60000
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 300000
        validationQuery: SELECT 1 FROM DUAL
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        poolPreparedStatements: true
        maxPoolPreparedStatementPerConnectionSize: 20
        filters: stat,slf4j
        connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
      datasource:
          # 主库数据源vastbase
        master:
          driverClassName: org.postgresql.Driver
          # url: jdbc:postgresql://192.168.50.133:5432/vastbase
          # username: test
          # password: HLWfz1106
          url: jdbc:postgresql://192.168.50.171:5432/vastbase
          username: vbadmin
          password: Qq@952318

          # 从库数据源 此处可自行添加其他数据源
        #slave:
          #driverClassName: org.postgresql.Driver
          # url: jdbc:postgresql://192.168.50.133:5432/vastbase
          # username: test
          # password: HLWfz1106
          #url: jdbc:postgresql://192.168.50.171:5432/vastbase
          #username: vbadmin
          #password: Qq@952318

          # neo4j数据源
        Neo4j:
          driverClassName: org.neo4j.jdbc.Driver
          url: jdbc:neo4j:bolt://192.168.50.171:7687
          username: neo4j
          password: Qq952318
          druid: # 以下参数针对每个库可以重新设置druid参数
            initial-size:
            validation-query: Match (n:people)  return  count(n) 

项目使用多数据源dynamic-datasource集成neo4j成功,项目运行日志

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值