spring多数据源

spring boot 配置多数据源

荒凉一梦 提交于 2019-12-18 14:53:41
mybatis配置项 import com.alibaba.druid.pool.DruidDataSource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import javax.sql.DataSource; import java.util.HashMap; import java.util.Map; @Configuration public class MyBatisConfig { @Autowired private DatabaseProperties databaseProperties; /** * 本地数据源 * @return */ public DataSource

springboot2.0动态多数据源切换

青春壹個敷衍的年華 提交于 2019-12-17 06:27:18
摘要:springboot1.x到springboot2.0配置变化有一点变化,网上关于springboot2.0配置多数据源的资料也比较少,为了让大家配置多数据源从springboot1.x升级到springboot2.0少踩写坑,博主在此介绍用springboot2.0来进行动态数据源切换。(在博客的最后会给大家提供源码的下载地址) 一、引入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.heshouyou</groupId> <artifactId>dynamic-datasource</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name

Spring Druid多数据源配置

六眼飞鱼酱① 提交于 2019-12-06 16:42:09
SpringBoot 多数据源配置 如果需要在一个应用中使用多个数据源,应当如何实现呢,在Spring配置MyBatis中,我们可以看到以下的代码 <!-- mybatis 的SqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" scope="prototype"> <property name="dataSource" ref="dataSource"/> <property name="configLocation" value="classpath:mybatis-config.xml"/> </bean> MyBatis的一个SqlSession即代表了一个数据源的配置,所以要实现多个数据源的,配置多个不同的SqlSession就行 依赖引入 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId>

springboot+mybatis的多数据源配置

人走茶凉 提交于 2019-12-06 12:28:53
1.链接数据库yml配置 spring: datasource: master: jdbc-url: jdbc:mysql://localhost:3306/dams?useSSL=false&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true username: root password: root driver-class-name: com.mysql.jdbc.Driver slave1: jdbc-url: jdbc:mysql://localhost:3306/root?useSSL=false&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true username: root password: root driver-class-name: com.mysql.jdbc.Driver slave2: jdbc-url: jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true username: root password: root driver-class

SpringBoot配置多数据源Mysql+Sqlite

自古美人都是妖i 提交于 2019-12-06 08:39:04
​ 配置了一下druid的多数据源配置,尝试了很多方法,Spring boot关于对Mysql和Sqlite多数据源的配置,记录下来: 涉及技术点: Springboot + Druid + Mysql + Sqlite 一、引入Jar包: <!--Spring Boot依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.1.8.RELEASE</version> </dependency> <!--MYSQL连接依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.18</version> </dependency> <!--阿里数据源连接池--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> </dependency> <!--sqlite依赖-

Spring多数据源动态切换

自闭症网瘾萝莉.ら 提交于 2019-12-06 08:13:13
title: Spring多数据源动态切换 date: 2019-11-27 categories: Java Spring tags: 数据源 typora-root-url: ...... --- 原理 DataSource向外提供一个 etConnection() 方法,得getConnection者得数据库 “一代雄主” AbstractRoutingDataSource 实现了 getConnection() 方法 // line 166 @Override public Connection getConnection() throws SQLException { return determineTargetDataSource().getConnection(); } ... 省略若干代码 // line 190 /** * Retrieve the current target DataSource. Determines the * {@link #determineCurrentLookupKey() current lookup key}, performs * a lookup in the {@link #setTargetDataSources targetDataSources} map, * falls back to the specified

SpringBoot多数据源配置

梦想与她 提交于 2019-12-05 04:20:36
参考: https://yq.aliyun.com/articles/632079 首先看配置文件: #spring配置 spring: #主数据源 datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://server:3306/simon_jia_dev?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&useSSL=false username: root password: js=123456 type: com.zaxxer.hikari.HikariDataSource hikari: maxLifetime: 1765000 #一个连接的生命时长(毫秒),超时而且没被使用则被释放(retired),缺省:30分钟,建议设置比数据库超时时长少30秒以上 maximumPoolSize: 20 #连接池中允许的最大连接数。缺省值:10;推荐的公式:((core_count * 2) + effective_spindle_count) minimumIdle: 1 #连接池中允许的最小空闲连接数 # 更多数据源 custom: datasource: names: ds1,ds2 ds1: driver-class

spring boot 整合JPA多数据源

て烟熏妆下的殇ゞ 提交于 2019-12-03 05:25:52
  上个文章介绍了spring boot在使用Mybatis持久化技术的时候如何使用多数据源,今天再补充一个使用spring data jpa实现多数据源的使用情况,JPA是一套数据库持久化规范,或者称之为一套接口,可以类比于Java中的接口,既然有接口就有实现,Hibernate就是其中的一个实现。   本例为查询两个数据库test1和test2中的用户信息,可以共用一个实体类,当然如果有需要也可以操作不同的实体类。   1.项目的整体结构如下:   2.pom文件说明 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId>

关于springboot2.0.0配置多数据源出现jdbcUrl is required with driverClassName的错误

匿名 (未验证) 提交于 2019-12-03 00:32:02
原文传送门 在Spring Boot 1.5.x之前,多数据源编程已经有很多教程和例子了,比如 恒宇少年的博客 还有 程序猿DD的博客 ,我就是在两位大拿的教程下学习的。 但是在升级到Spring Boot 2.0后,一些配置及用法有了变化,如果不小心就会碰到“jdbcUrl is required with driverClassName.”的错误,详细错误信息可以查看 这里 。 我经过一番努力,查找资料,终于找到了解决办法,在这里分享出来,省得后来者再去查找资料。 第一种方法: 在这里也请大佬们帮忙解释下spring.datasource.jdbc-url和spring.datasource.url的区别。 第二种方法: 在数据源配置时使用DataSourceProperties方法。 文章来源: 关于springboot2.0.0配置多数据源出现jdbcUrl is required with driverClassName的错误

配置多数据源时,@Primary、@Qualifire、@ConfigurationProperties的使用

匿名 (未验证) 提交于 2019-12-03 00:21:02
文章内容分别来自于: https://www.cnblogs.com/wuqinglong/p/5845375.html ,作者: 吴庆龙 https://www.cnblogs.com/1540340840qls/p/6970692.html ,作者: 技术让世界更精彩 https://blog.csdn.net/u012129558/article/details/78225935 ,作者: will的猜想 文章主要用于自己学习SpringBoot,方便以后的查询 @Resource 默认是按照名称来装配注入的,只有当找不到与名称匹配的bean才会按照类型来注入。 它有两个属性是比较重要的: name: Spring 将 name 的属性值解析为 bean 的名称, 使用 byName 的自动注入策略 type: Spring 将 type的属性值解析为 bean 的类型,使用 byType 的自动注入策略 注: 如果既不指定 name 属性又不指定 type 属性,Spring这时通过反射机制使用 byName 自动注入策略 @Resource 的装配顺序 1. 如果同时指定了 name 属性和 type 属性,那么 Spring 将从容器中找唯一匹配的 bean 进行装配,找不到则抛出异常 2. 如果指定了 name 属性值,则从容器中查找名称匹配的 bean 进行装配