博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java如何配置两个数据源,java – Spring boot – 如何配置多个数据源
阅读量:5940 次
发布时间:2019-06-19

本文共 3280 字,大约阅读时间需要 10 分钟。

我正在尝试使用

Spring启动设置多个数据源(

MySql,Postgres和Oracle).我没有使用JPA.使用JdbcTemplate进行设置.

我试过设置这样的东西.

application.properties

spring.datasource.test-oracle.username=test-oracle

spring.datasource.test-oracle.password=test-password

spring.datasource.test-oracle.url=dburl/test

spring.datasource.test-oracle.driver-class-name=oracle.jdbc.OracleDriver

spring.datasource.int-oracle.username=int-oracle

spring.datasource.int-oracle.password=int-password

spring.datasource.int-oracle.url=dburl/int

spring.datasource.int-oracle.driver-class-name=oracle.jdbc.driver.OracleDriver

spring.datasource.d.int-mysql.username=user

spring.datasource.d.int-mysql.password=password

spring.datasource.d.int-mysql.url=dburl/d

spring.datasource.d.int-mysql.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.m.int-mysql.username=user

spring.datasource.m.int-mysql.password=password

spring.datasource.m.int-mysql.url=dburl/m

spring.datasource.m.int-mysql.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.d.test-mysql.username=user

spring.datasource.d.test-mysql.password=password

spring.datasource.d.test-mysql.url=dburl/d

spring.datasource.d.test-mysql.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.m.test-mysql.username=user

spring.datasource.m.test-mysql.password=password

spring.datasource.m.test-mysql.url=dburl/m

spring.datasource.m.test-mysql.driver-class-name=com.mysql.jdbc.Driver

MySqlConfiguration.java

@Configuration

public class MySqlConfiguration() {

@Bean(name = "dMySql")

@ConfigurationProperties(prefix = "spring.datasource.d.int-mysql")

public DataSource mysqlDrupalDataSource() {

return DataSourceBuilder.create().build();

}

@Bean(name = "dJdbc")

public JdbcTemplate drupalJdbcTemplate(DataSource dMySql) {

return new JdbcTemplate(dMySql);

}

@Bean(name = "mMySql")

@ConfigurationProperties(prefix = "spring.datasource.m.int-mysql")

public DataSource mysqlDrupalDataSource() {

return DataSourceBuilder.create().build();

}

@Bean(name = "mJdbc")

public JdbcTemplate drupalJdbcTemplate(DataSource mMySql) {

return new JdbcTemplate(mMySql);

}

}

OracleConfiguration.java

@Configuration

public class OracleConfiguration {

@Primary

@Bean(name = "tOracle")

@ConfigurationProperties(prefix = "spring.datasource.test-oracle")

public DataSource heOracleDataSource() {

return DataSourceBuilder.create().build();

}

@Bean(name = "tOracleJdbc")

public JdbcTemplate jdbcTemplate(DataSource tOracle) {

return new JdbcTemplate(tOracle);

}

@Bean(name = "iOracle")

@ConfigurationProperties(prefix = "spring.datasource.int-oracle")

public DataSource heOracleDataSource() {

return DataSourceBuilder.create().build();

}

@Bean(name = "iOracleJdbc")

public JdbcTemplate jdbcTemplate(DataSource iOracle) {

return new JdbcTemplate(iOracle);

}

}

我不确定以上是否是正确的方法.当我根据引导文档使用@Primary时,总是使用具有@Primary的Bean.然后我在这样的DAO实现中使用配置

DAO实施之一

@Repository

public class DAOImpl implements DAOInterface {

@Autowired

@Qualifier("dJdbc")

private JdbcTemplate jdbc;

@Override

public Map getBasicStudentInfo(String MAIL) {

return jdbc.queryForMap(GET_BASIC_STUDENT_INFO, new Object[]{MAIL});

}

我该怎么做呢?我确实看到很多关于多个数据源的文章,但不幸的是,这些示例或解决方案并不适合我.

除此之外,我还需要能够根据一些用户输入查询数据库.因此,如果用户提供环境,例如“test”或“int”,我如何根据该输入触发正确的属性.

我知道环境是@Autowired到Spring启动我可以拦截用户输入,但不确定我应该如何提供用户输入和DAO配置之间的管道.

如果某些事情不清楚或需要我的一些解释或需要更多代码,我可以提供.任何帮助解决这种情况将不胜感激.谢谢

转载地址:http://dhltx.baihongyu.com/

你可能感兴趣的文章
LeetCode - Longest Common Prefix
查看>>
Android图片处理
查看>>
2015年第21本:万万没想到,用理工科思维理解世界
查看>>
大家谈谈公司里的项目经理角色及职责都是干什么的?
查看>>
剑指offer
查看>>
Velocity魔法堂系列二:VTL语法详解
查看>>
NopCommerce架构分析之八------多语言
查看>>
转:Eclipse自动补全功能轻松设置
查看>>
ES6新特性:Javascript中的Reflect对象
查看>>
hibernate逆向工程生成的实体映射需要修改
查看>>
mysql update操作
查看>>
Robots.txt - 禁止爬虫(转)
查看>>
MySQL数据库
查看>>
项目分析_xxoo-master
查看>>
SQLServer2012自增列值跳跃的问题
查看>>
ViewBag对象的更改
查看>>
Mysql 监视工具
查看>>
hdu1025 Constructing Roads In JGShining's Kingdom(二分+dp)
查看>>
Android PullToRefreshListView和ViewPager的结合使用
查看>>
禅修笔记——硅谷最受欢迎的情商课
查看>>