数据库连接池的写法

/**
     * 
     * @title getConnection
     * @description 获取数据库的连接池
     * @create_date Apr 25, 2012
     * @param dbDataSourceName 数据源的名字
     * @return 一个数据库连接
     * @throws DataAccessException 
     */
public static Connection getConnection(String dbDataSourceName) throws DataAccessException{
DataSource ds;
Connection conn = null;
           try {
InitialContext ic = new InitialContext();
ds = (DataSource)ic.lookup(dbDataSourceName);
conn = ds.getConnection();
} catch (NamingException e) {//NamingException 实例与并发多线程访问不同步。
e.printStackTrace();
} catch (SQLException e) {

throw new DataAccessException(e);
}
return conn;
}
### 配置数据库连接池的 YML 文件写法 在 Spring Boot 应用中,配置数据库连接池通常通过 `application.yml` 文件进行。Spring Boot 默认使用 HikariCP 作为连接池实现,但也可以选择其他连接池如 DBCP2 或 Tomcat JDBC Pool。 #### 使用 HikariCP 连接池 HikariCP 是一个高性能的 JDBC 连接池,默认集成于 Spring Boot 中,无需额外依赖即可使用。以下是一个典型的配置示例: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/mydb username: root password: secret driver-class-name: com.mysql.cj.jdbc.Driver hikari: maximum-pool-size: 10 minimum-idle: 5 idle-timeout: 30000 max-lifetime: 1800000 connection-timeout: 30000 ``` 此配置定义了最大连接池大小为 10,最小空闲连接数为 5,并设置了连接超时时间、空闲连接超时时间以及连接的最大生命周期[^1]。 #### 使用 DBCP2 连接池 若需使用 DBCP2 作为连接池,首先需要添加相关依赖(如 `spring-boot-starter-data-jpa` 已包含),然后在配置文件中设置具体参数: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/mydb username: root password: secret driver-class-name: com.mysql.cj.jdbc.Driver dbcp2: min-idle: 5 initial-size: 5 max-total: 10 max-wait-millis: 60000 ``` 该配置指定了初始连接数、最小空闲连接数、最大连接总数和获取连接的最大等待时间[^2]。 #### 使用 Tomcat JDBC Pool Tomcat JDBC Pool 是另一个常用的连接池实现方式。它可以通过如下方式配置: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/mydb username: root password: secret driver-class-name: com.mysql.cj.jdbc.Driver tomcat: max-active: 10 max-idle: 5 min-idle: 2 max-wait: 30000 ``` 此配置设置了最大活跃连接数、最大空闲连接数、最小空闲连接数以及获取连接的最大等待时间。 --- ### 数据库连接池的优势 - **提高性能**:复用已有连接,减少创建和销毁连接的开销。 - **减少资源消耗**:有效管理和限制同时连接数据库的数量,避免过度占用数据库资源。 - **增强应用响应速度**:减少每次数据库操作时的连接建立时间,提高响应速度。 - **提高稳定性**:提供连接池健康检查和故障恢复机制,确保连接的稳定性和可靠性。 - **支持并发访问**:允许多个线程或用户同时安全地访问数据库,提升并发处理能力[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值