我正在开发一个Spring-boot应用程序,它需要创建一个全新的数据库并从另一个获取一些信息,所以我认为我需要配置两个 数据源
在创建了我想做的事情并且没有成功之后,我已经创建了一些问题和代码,如果我在配置上出错了,请指导我。
第一个问题,尽管新数据库将使用 jpa ,而现有的 jdbctemplate ,配置文件仍然是相同的吗? 这是我的配置类文件:
DbConfig.java
@Configuration
public class DbConfig {
@Bean(name="bitacoraDb")
@Primary
@ConfigurationProperties("bitacora.datasource")
public DataSourceProperties bitacoraDataSourceProperties() {
return new DataSourceProperties();
}
@Bean
@Primary
@ConfigurationProperties("bitacora.datasource")
public DataSource bitacoraDataSource() {
return bitacoraDataSourceProperties().initializeDataSourceBuilder().build();
}
@Bean(name="siaDb")
@ConfigurationProperties("sia.datasource")
public DataSource siaDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name="siaJdbcTemplate")
public JdbcTemplate jdbcTemplate(@Qualifier("siaDb") DataSource dataSource) {
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate.setResultsMapCaseInsensitive(true);
return jdbcTemplate;
}
}
然后,我的 application.properties ,在这里我不知道hibernate属性是否正常工作:
bitacora.datasource.url=jdbc:postgresql://192.168.1.202:5432/bitacorapp
bitacora.datasource.driverClassName=org.postgresql.Driver
bitacora.datasource.username=argos_admin
bitacora.datasource.password=argos@27467
bitacora.jpa.hibernate.show_sql=true
bitacora.jpa.hibernate.format_sql=true
bitacora.jpa.hibernate.hbm2ddl.import_files_sql_extractor=org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor
bitacora.jpa.hibernate.dialect=org.hibernate.dialect.PostgreSQL92Dialect
bitacora.jpa.hibernate.ddl-auto=create-drop
# --------------------
# Second datasource
# --------------------
sia.datasource.url=jdbc:postgresql://192.168.1.202:5432/argosrr-serv
sia.datasource.driverClassName=org.postgresql.Driver
sia.datasource.username=argos_admin
sia.datasource.password=argos@27467
问题是新数据库是在我不想要的第二个数据源中创建的,但我的控制器和存储库按预期工作,但我需要分离数据库。 我不知道在解决了这个问题之后是否会导致其他一些因为配置错误。
感谢您的帮助。