怎么在SpringBoot中配置多数据源

  介绍

本篇文章为大家展示了怎么在SpringBoot中配置多数据源,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

多数据源配置

首先是配置文件

<李>

这里采用yml配置文件,其他类型配置文件同理

<李>

我配置了两个数据源,一个名字叫ds1数据源,一个名字叫ds2数据源,如果你想配置更多的数据源,继续加就行了

春:   ,#数据源配置   ,数据源:   ,,ds1: #数据源1   ,,,driver-class-name: com.mysql.jdbc.Driver  #, mysql的驱动你可以配置别的关系型数据库   ,,,url: jdbc: mysql://ip: 3306/db1  #数据源地址   ,,,用户名:root  #,用户名   ,,,密码:root  #,密码   ,,ds2: #,数据源2   ,,,driver-class-name: com.mysql.jdbc.Driver  #, mysql的驱动你可以配置别的关系型数据库   ,,,url: jdbc: db2 mysql://ip: 3307/#数据源地址   ,,,用户名:root  #,用户名   ,,,密码:root  #,密码

多数据源配置

增加一个Springboot的配置类

/* *   ,*多数据源配置   ,*/@ configuration   public  class  DataSourceConfig  {//主才能数据源配置,ds1数据源   @Primary才能   @ bean才能(=name “ds1DataSourceProperties")   @ConfigurationProperties才能(=prefix “spring.datasource.ds1")   public 才能;DataSourceProperties  ds1DataSourceProperties (), {   ,,,return  new  DataSourceProperties ();   ,,}//主才能数据源,ds1数据源   @Primary才能   @ bean才能(=name “ds1DataSource")   public 才能;DataSource  ds1DataSource (@ qualifier (“ds1DataSourceProperties"), DataSourceProperties  dataSourceProperties), {   ,,,return  dataSourceProperties.initializeDataSourceBuilder () .build ();   ,,}//第才能二个ds2数据源配置   @ bean才能(=name “ds2DataSourceProperties")   @ConfigurationProperties才能(=prefix “spring.datasource.ds2")   public 才能;DataSourceProperties  ds2DataSourceProperties (), {   ,,,return  new  DataSourceProperties ();   ,,}//第才能二个ds2数据源   @ bean才能(“ds2DataSource")   public 才能;DataSource  ds2DataSource (@ qualifier (“ds2DataSourceProperties"), DataSourceProperties  dataSourceProperties), {   ,,,return  dataSourceProperties.initializeDataSourceBuilder () .build ();   ,,}   }

JdbcTemplate多数据源配置

增加一个Springboot配置类

/* *   ,* JdbcTemplate多数据源配置   *大敌;依赖于数据源配置   ,*   ,* @see  DataSourceConfig   ,*/@ configuration   public  class  JdbcTemplateDataSourceConfig  {//JdbcTemplate才能主数据源ds1数据源   @Primary才能   @ bean才能(=name “ds1JdbcTemplate")   public 才能;JdbcTemplate  ds1JdbcTemplate (@ qualifier (“ds1DataSource"), DataSource 数据源),{   ,,,return  new  JdbcTemplate(数据源);   ,,}//才能JdbcTemplate第二个ds2数据源   @ bean才能(=name “ds2JdbcTemplate")   public 才能;JdbcTemplate  ds2JdbcTemplate (@ qualifier (“ds2DataSource"), DataSource 数据源),{   ,,,return  new  JdbcTemplate(数据源);   ,,}   }

mybatis多数据源配置

增加一个SpringBoot配置类

mybatis多数据源的原理是根据不同包,调用不同的数据源,你只需要把你的mapper.java和mapper.xml(我喜欢叫dao.java和dao.xml)写在某个包中,SpringBoot自动帮你实现数据源切换
核心代码就这句

@MapperScan (basePackages =癱om.web.ds2。* * .dao",, sqlSessionTemplateRef =,“ds2SqlSessionTemplate")

用来指定包扫描指定sqlSessionTemplateRef
和<代码> sqlSessionFactory。setMapperLocations(新PathMatchingResourcePatternResolver () .getResources (“classpath *:com/web/ds2/* */* .xml"));
用来指定映射器。xml的路径

详细配置代码如下

/* *   ,* Mybatis主数据源ds1配置   ,*多数据源配置依赖数据源配置   ,* @see  DataSourceConfig   ,*/@ configuration   @MapperScan (basePackages =癱om.web.ds1。* * .dao",, sqlSessionTemplateRef =,“ds1SqlSessionTemplate")   public  class  MybatisPlusConfig4ds1  {//主才能数据源,ds1数据源   @Primary才能   @ bean才能(“ds1SqlSessionFactory")   public 才能;SqlSessionFactory  ds1SqlSessionFactory (@ qualifier (“ds1DataSource"), DataSource 数据源),throws  Exception  {   ,,,MybatisSqlSessionFactoryBean  sqlSessionFactory =, new  MybatisSqlSessionFactoryBean ();   ,,,sqlSessionFactory.setDataSource(数据源);   ,,,sqlSessionFactory.setMapperLocations (new  PathMatchingResourcePatternResolver ()。   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在SpringBoot中配置多数据源