Refactored datasource configs
This commit is contained in:
parent
f9f026d815
commit
c77e22e641
4 changed files with 26 additions and 27 deletions
|
|
@ -0,0 +1,19 @@
|
|||
package ru.nbch.credit_tracker.config.datasource;
|
||||
|
||||
import org.springframework.boot.jdbc.DataSourceBuilder;
|
||||
import ru.nbch.credit_tracker.config.settings.DataSourceSettings;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
public class DatabaseConfig {
|
||||
|
||||
protected DataSource createDataSource(DataSourceSettings settings) {
|
||||
return DataSourceBuilder.create()
|
||||
.driverClassName(settings.driver())
|
||||
.url(settings.url())
|
||||
.username(settings.username())
|
||||
.password(settings.password())
|
||||
.build();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,13 +1,11 @@
|
|||
package ru.nbch.credit_tracker.config.datasource;
|
||||
|
||||
import com.zaxxer.hikari.HikariDataSource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.ibatis.session.SqlSessionFactory;
|
||||
import org.mybatis.spring.SqlSessionFactoryBean;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.jdbc.DataSourceBuilder;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.io.Resource;
|
||||
|
|
@ -23,19 +21,14 @@ import java.sql.SQLException;
|
|||
basePackages = "ru.nbch.credit_tracker.mapper.indic",
|
||||
sqlSessionFactoryRef = "sqlSessionIndic"
|
||||
)
|
||||
public class IndicDataSourceConfig {
|
||||
public class IndicDataSourceConfig extends DatabaseConfig {
|
||||
|
||||
@Value("classpath:mybatis/mapper/indic/*.xml")
|
||||
private Resource[] resources;
|
||||
|
||||
@Bean(name = "indicDataSource")
|
||||
public DataSource dataSource(CreditTrackerSettings config) throws SQLException {
|
||||
DataSourceBuilder<HikariDataSource> dataSourceBuilder = (DataSourceBuilder<HikariDataSource>) DataSourceBuilder.create();
|
||||
dataSourceBuilder.driverClassName(config.getIndicDataSourceSettings().driver());
|
||||
dataSourceBuilder.url(config.getIndicDataSourceSettings().url());
|
||||
dataSourceBuilder.username(config.getIndicDataSourceSettings().username());
|
||||
dataSourceBuilder.password(config.getIndicDataSourceSettings().password());
|
||||
HikariDataSource dataSource = dataSourceBuilder.build();
|
||||
DataSource dataSource = createDataSource(config.getIndicDataSourceSettings());
|
||||
try (Connection connection = dataSource.getConnection()) {
|
||||
connection.isValid(3);
|
||||
} catch (SQLException e) {
|
||||
|
|
|
|||
|
|
@ -1,13 +1,11 @@
|
|||
package ru.nbch.credit_tracker.config.datasource;
|
||||
|
||||
import com.zaxxer.hikari.HikariDataSource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.ibatis.session.SqlSessionFactory;
|
||||
import org.mybatis.spring.SqlSessionFactoryBean;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.jdbc.DataSourceBuilder;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.io.Resource;
|
||||
|
|
@ -16,25 +14,21 @@ import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
|||
import javax.sql.DataSource;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
|
||||
@Slf4j
|
||||
@Configuration
|
||||
@MapperScan(
|
||||
basePackages = "ru.nbch.credit_tracker.mapper.scoring",
|
||||
sqlSessionFactoryRef = "sqlSessionScoring"
|
||||
)
|
||||
public class ScoringDataSourceConfig {
|
||||
public class ScoringDataSourceConfig extends DatabaseConfig {
|
||||
|
||||
@Value("classpath:mybatis/mapper/scoring/*.xml")
|
||||
private Resource[] resources;
|
||||
|
||||
@Bean(name = "scoringDataSource")
|
||||
public DataSource dataSource(CreditTrackerSettings config) throws SQLException {
|
||||
DataSourceBuilder<HikariDataSource> dataSourceBuilder = (DataSourceBuilder<HikariDataSource>) DataSourceBuilder.create();
|
||||
dataSourceBuilder.driverClassName(config.getScoringDataSourceSettings().driver());
|
||||
dataSourceBuilder.url(config.getScoringDataSourceSettings().url());
|
||||
dataSourceBuilder.username(config.getScoringDataSourceSettings().username());
|
||||
dataSourceBuilder.password(config.getScoringDataSourceSettings().password());
|
||||
HikariDataSource dataSource = dataSourceBuilder.build();
|
||||
DataSource dataSource = createDataSource(config.getScoringDataSourceSettings());
|
||||
try (Connection connection = dataSource.getConnection()) {
|
||||
connection.isValid(3);
|
||||
} catch (SQLException e) {
|
||||
|
|
|
|||
|
|
@ -1,13 +1,11 @@
|
|||
package ru.nbch.credit_tracker.config.datasource;
|
||||
|
||||
import com.zaxxer.hikari.HikariDataSource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.ibatis.session.SqlSessionFactory;
|
||||
import org.mybatis.spring.SqlSessionFactoryBean;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.jdbc.DataSourceBuilder;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.io.Resource;
|
||||
|
|
@ -23,18 +21,13 @@ import java.sql.SQLException;
|
|||
basePackages = "ru.nbch.credit_tracker.mapper.signal",
|
||||
sqlSessionFactoryRef = "sqlSessionSignal"
|
||||
)
|
||||
public class SignalDataSourceConfig {
|
||||
public class SignalDataSourceConfig extends DatabaseConfig {
|
||||
@Value("classpath:mybatis/mapper/signal/*.xml")
|
||||
private Resource[] resources;
|
||||
|
||||
@Bean(name = "signalDataSource")
|
||||
public DataSource dataSource(CreditTrackerSettings config) throws SQLException {
|
||||
DataSourceBuilder<HikariDataSource> dataSourceBuilder = (DataSourceBuilder<HikariDataSource>) DataSourceBuilder.create();
|
||||
dataSourceBuilder.driverClassName(config.getSignalDataSourceSettings().driver());
|
||||
dataSourceBuilder.url(config.getSignalDataSourceSettings().url());
|
||||
dataSourceBuilder.username(config.getSignalDataSourceSettings().username());
|
||||
// dataSourceBuilder.password(config.getSignalDataSourceSettings().password()); TODO uncomment whe password will be set
|
||||
HikariDataSource dataSource = dataSourceBuilder.build();
|
||||
DataSource dataSource = createDataSource(config.getSignalDataSourceSettings());
|
||||
try (Connection connection = dataSource.getConnection()) {
|
||||
connection.isValid(3);
|
||||
} catch (SQLException e) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue