微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

-url=jdbc:MysqL: primary.spring.datasource.username==--name=MysqL.cj.jdbc.Driver

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

figuration fig {
@Bean(name </span>= "primaryDataSource"<span style="color: #000000"&gt;)
@Qualifier(</span>"primaryDataSource"<span style="color: #000000"&gt;)
@Primary
@Con<a href="/tag/fig/" target="_blank" class="keywords">fig</a>urationProperties(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;)
@Con<a href="/tag/fig/" target="_blank" class="keywords">fig</a>urationProperties(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.ottest @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> <a href="/tag/test/" target="_blank" class="keywords">test()</a> <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; 往第<a href="/tag/yige/" target="_blank" class="keywords">一个</a>数据源中插入两条数据</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。 

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐