是否可以(如何)使用spring数据在同一项目上使用不同的ojdbc驱动程序?

我的application.properties中有这些文件:

spring.first.datasource.jdbc-url=jdbc:oracle:thin:first-datasource-url
spring.first.datasource.username=user1
spring.first.datasource.password=pass1
spring.first.datasource.driver-class-name=oracle.jdbc.OracleDriver

spring.second.datasource.jdbc-url=jdbc:oracle:thin:second-datasource-url
spring.second.datasource.username=user2
spring.second.datasource.password=pass2
spring.second.datasource.driver-class-name=oracle.jdbc.OracleDriver

问题在于,一个数据库与ojdbc6兼容,而另一个与ojbc8兼容。 有什么方法可以使每个DataSource配置的版本或jar明确显示?

这是我的配置文件:

@Configuration
@EnableTransactionmanagement
@EnableJpaRepositories(
 entityManagerFactoryRef = "firstEntityManagerFactory",transactionmanagerRef = "firstTransactionmanager",)
public class FirstConfiguration {

    @Bean(name = "firstdataSource")
    @ConfigurationProperties(prefix = "spring.first.datasource")
    public DataSource dataSource() {
        return DataSourceBuilder.create().build();
    }

    @Bean(name = "firstEntityManagerFactory")
    public LocalContainerEntityManagerFactoryBean barEntityManagerFactory(EntityManagerFactoryBuilder builder,@Qualifier("firstdataSource") DataSource dataSource) {
        return builder.dataSource(dataSource).build();
    }

    @Bean(name = "firstTransactionmanager")
    public PlatformTransactionmanager firstTransactionmanager(
            @Qualifier("firstEntityManagerFactory") EntityManagerFactory firstEntityManagerFactory) {
        return new JpaTransactionmanager(firstEntityManagerFactory);
    }

    @Bean(name = "firstJdbcTemplate")
    public JdbcTemplate jdbcTemplateFirst(@Qualifier("firstdataSource") DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }

}
guyouyan 回答:是否可以(如何)使用spring数据在同一项目上使用不同的ojdbc驱动程序?

对于ojdbc6.jar文件,驱动程序类名称为oracle.jdbc.OracleDriver

对于ojdbc8,驱动程序类名称为oracle.jdbc.driver.OracleDriver

您可以看到这两个类之间的差异,因此,我认为只要类名不同,您就可以在应用程序中使用这两个jar文件。

我假设对于ojdbc6.jar,属性名称可以为

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

如果是ojdbc8.jar,它将是

spring.second.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
本文链接:https://www.f2er.com/3102087.html

大家都在问