加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Spring Boot 2.1.1.RELEASE 多数据源配置与使用

发布时间:2020-12-15 01:51:38 所属栏目:大数据 来源:网络整理
导读:有时候,一个系统的功能,需要两个或两个以上的数据库, 在Spring Boot 中要如何配置? How to? -url=jdbc:mysql: primary.spring.datasource.username= = - -name= secondary secondary.spring.datasource.jdbc -url=jdbc:mysql:span style="color: #008000

有时候,一个系统的功能,需要两个或两个以上的数据库,

在Spring Boot 中要如何配置? How to?

-url=jdbc:mysql: primary.spring.datasource.username==--name=secondary

secondary.spring.datasource.jdbc-url=jdbc:mysql:<span style="color: #008000">//<span style="color: #008000">localhost:3316/test2
secondary.spring.datasource.username=<span style="color: #000000">root
secondary.spring.datasource.password=<span style="color: #000000">root
secondary.spring.datasource.driver-<span style="color: #0000ff">class-name=com.mysql.cj.jdbc.Driver

新建一个类DataSourceConfig

@Bean(name </span>= "primaryDataSource"<span style="color: #000000"&gt;) @Qualifier(</span>"primaryDataSource"<span style="color: #000000"&gt;) @Primary @ConfigurationProperties(prefix</span>="primary.spring.datasource"<span style="color: #000000"&gt;) </span><span style="color: #0000ff"&gt;public</span><span style="color: #000000"&gt; DataSource primaryDataSource() { </span><span style="color: #0000ff"&gt;return</span><span style="color: #000000"&gt; DataSourceBuilder.create().build(); } @Bean(name </span>= "secondaryDataSource"<span style="color: #000000"&gt;) @Qualifier(</span>"secondaryDataSource"<span style="color: #000000"&gt;) @ConfigurationProperties(prefix</span>="secondary.spring.datasource"<span style="color: #000000"&gt;) </span><span style="color: #0000ff"&gt;public</span><span style="color: #000000"&gt; DataSource secondaryDataSource() { </span><span style="color: #0000ff"&gt;return</span><span style="color: #000000"&gt; DataSourceBuilder.create().build(); } @Bean(name </span>= "primaryJdbcTemplate"<span style="color: #000000"&gt;) </span><span style="color: #0000ff"&gt;public</span> JdbcTemplate primaryJdbcTemplate(@Qualifier("primaryDataSource"<span style="color: #000000"&gt;) DataSource dataSource) { </span><span style="color: #0000ff"&gt;return</span> <span style="color: #0000ff"&gt;new</span><span style="color: #000000"&gt; JdbcTemplate(dataSource); } @Bean(name </span>= "secondaryJdbcTemplate"<span style="color: #000000"&gt;) </span><span style="color: #0000ff"&gt;public</span> JdbcTemplate secondaryJdbcTemplate(@Qualifier("secondaryDataSource"<span style="color: #000000"&gt;) DataSource dataSource) { </span><span style="color: #0000ff"&gt;return</span> <span style="color: #0000ff"&gt;new</span><span style="color: #000000"&gt; JdbcTemplate(dataSource); }

}

之后在运用的时候,注意@Qualifier

@RunWith(SpringJUnit4ClassRunner. @Autowired @Qualifier(</span>"primaryJdbcTemplate"<span style="color: #000000"&gt;) </span><span style="color: #0000ff"&gt;protected</span><span style="color: #000000"&gt; JdbcTemplate jdbcTemplate1; @Autowired @Qualifier(</span>"secondaryJdbcTemplate"<span style="color: #000000"&gt;) </span><span style="color: #0000ff"&gt;protected</span><span style="color: #000000"&gt; JdbcTemplate jdbcTemplate2; @Before </span><span style="color: #0000ff"&gt;public</span> <span style="color: #0000ff"&gt;void</span><span style="color: #000000"&gt; setUp() { jdbcTemplate1.update(</span>"DELETE FROM USER "<span style="color: #000000"&gt;); jdbcTemplate2.update(</span>"DELETE FROM USER "<span style="color: #000000"&gt;); } @Test </span><span style="color: #0000ff"&gt;public</span> <span style="color: #0000ff"&gt;void</span> test() <span style="color: #0000ff"&gt;throws</span><span style="color: #000000"&gt; Exception { </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 往第一个数据源中插入两条数据</span> jdbcTemplate1.update("insert into user(id,name,age) values(?,?,?)",1,"aaa",20<span style="color: #000000"&gt;); jdbcTemplate1.update(</span>"insert into user(id,2,"bbb",30<span style="color: #000000"&gt;);

}}

java.lang.IllegalArgumentException: jdbcUrl is required with driverClassName.

修改application.xml中的数据库的url, 用spring.datasource.jdbc-url,而不是通常使用的spring.datasource.url。?

之前用的如下截图,总是报错

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读