Spring Boot+JOOQ(四)数据库连接池

为了更好地对数据库连接进行管理,我们引入数据库连接池。本例代码中采用阿里巴巴的Druid数据库连接池。

pom.xml文件引入:

		
			com.alibaba
			druid
			1.1.3
		

application.properties中添加数据库配置信息:

localhost.datasource.url = jdbc:postgresql://localhost:5432/postgres
localhost.datasource.username = 
localhost.datasource.password = 
localhost.datasource.driverClassName = org.postgresql.Driver

新建DataSourceProperties用于读取application.properties中的数据:

@Data
@ConfigurationProperties(prefix = "localhost.datasource")
public class DataSourceProperties {
    private String url;
    private String username;
    private String password;
    private String driverClassName;
}

@Data 为lombok注解,用于生成成员的getter,setter方法。

新建DataSourceConfig用于配置Druid连接池:

@Configuration
@EnableConfigurationProperties(DataSourceProperties.class)
public class DataSourceConfig {
    @Primary
    @Bean(name = "localhostDatasource")
    public DataSource dataSourceConfig(DataSourceProperties dataSourceProperties){
        DruidDataSource druidDataSource = new DruidDataSource();
        druidDataSource.setUrl(dataSourceProperties.getUrl());
        druidDataSource.setUsername(dataSourceProperties.getUsername());
        druidDataSource.setPassword(dataSourceProperties.getPassword());
        druidDataSource.setDriverClassName(dataSourceProperties.getDriverClassName());
        return druidDataSource;
    }
}

在Service层中的构造函数进行初始化:

public class Demo{
	private DSLContext dslContext;

    public Demo(@Qualifier("localhostDatasource") DataSource dataSource){
        ConnectionProvider connectionProvider =  new DataSourceConnectionProvider(dataSource);
        org.jooq.Configuration configuration = new DefaultConfiguration()
                .set(connectionProvider)
                .set(SQLDialect.POSTGRES);
        dslContext = DSL.using(configuration);
    }
}

之后就可以正常使用DSLContext来进行对数据库的操作。

你可能感兴趣的:(Java学习)