PostgreSql数据使用HikariDataSource数据库连接池配置

环境:jdk 1.8 maven postgreSql11

直接上代码:

maven引入jar包

compile"org.postgresql:postgresql:42.2.6"

注:如果jdk的版本低于1.7,使用低版本的jar包,42.2.6不支持JDK版本低于1.7的。

提供HikariDataSource默认使用静态块的方式提供。

package utils;

import com.zaxxer.hikari.HikariConfig;

import com.zaxxer.hikari.HikariDataSource;

public class DBUtil {

    private static final HikariDataSourceDS;

    static {

        HikariConfig config =new HikariConfig();

        config.setAutoCommit(true);

        config.setDataSourceClassName("org.postgresql.ds.PGSimpleDataSource");

        config.setUsername("postgresql");

        config.setPassword("postgresql");

        config.addDataSourceProperty("serverName", "localhost");

        config.addDataSourceProperty("portNumber", 5432);

        config.addDataSourceProperty("databaseName","test");

        DS =new HikariDataSource(config);

    }

    public static void close() {

        DS.close();

    }

}

如果配置完成后如果报 如下错误可以参考我的另一篇日记:PostgreSql连接HikariDataSource提示SSL关闭处理

在Spring框架中,如果已经配置数据库连接池(如HikariCP、Druid等),并且创建了一个名为DS的DataSource Bean,通常情况下,如果你需要使用数据源,可能会遇到以下一些情况导致单数据源仍然生效: 1. **配置完整**:确保你的多数据配置是否正确添加到了applicationContext.xml或application.yml文件中,包括新的数据源名称、JDBC URL、用户名和密码等信息。 ```xml <bean id="dataSourceA" class="com.zaxxer.hikari.HikariDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <!-- 其他属性配置 --> </bean> <bean id="dataSourceB" class="com.zaxxer.hikari.HikariDataSource"> <property name="driverClassName" value="org.postgresql.Driver"/> <!-- 其他属性配置 --> </bean> <!-- 使用spring-context-mBean-export关闭默认的单一数据源 --> <context:component-scan base-package="com.yourpackage"></context:component-scan> <bean id="dataSources" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSourceA" /> </bean> ``` 2. **默认引用**:检查是否有任何地方默认使用了`DataSource`或`DataSourceTransactionManager`来引用单个数据源,比如事务管理或者服务层直接注入的数据源。 3. **@Qualifier注解**:如果有多个`DataSource` Bean,你需要在注入时明确指定哪个数据源,可以使用`@Qualifier`注解来指定数据源名。 4. **分片或读写分离**:如果是分布式系统中处理高并发或多租户场景,可能还需要额外的配置来支持多数据源的切换或代理。 如果以上步骤都确认无误,但还是无法生效,检查日志可能有助于找到原因。另外,请务必检查相关的配置文件是否加载并应用了正确的数据源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值