在JDBC中,`Connection`本身没有直接设置过期时间的方法,但可以通过连接池来间接实现连接过期时间的控制。以HikariCP连接池为例,以下是设置连接过期时间的示例代码: ```java import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; import java.sql.Connection; import java.sql.SQLException; public class JdbcConnectionExpirationExample { public static void main(String[] args) { // 配置HikariCP连接池 HikariConfig config = new HikariConfig(); // 设置数据库连接的URL config.setJdbcUrl("jdbc:mysql://localhost:3306/your_database"); // 设置数据库用户名 config.setUsername("your_username"); // 设置数据库密码 config.setPassword("your_password"); // 设置连接的最大生命周期,单位为毫秒,这里设置为30分钟 config.setMaxLifetime(30 * 60 * 1000); // 创建HikariDataSource实例 HikariDataSource dataSource = new HikariDataSource(config); try { // 从连接池中获取连接 Connection connection = dataSource.getConnection(); System.out.println("成功获取连接:" + connection); // 使用完连接后关闭 connection.close(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭数据源 dataSource.close(); } } } ``` 代码解释: 1. 引入HikariCP依赖:需要在项目中引入HikariCP的依赖,例如在Maven项目中添加以下依赖: ```xml <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>4.0.3</version> </dependency> ``` 2. 配置HikariCP:创建`HikariConfig`对象,设置数据库连接的URL、用户名、密码等信息,并通过`setMaxLifetime`方法设置连接的最大生命周期。 3. 创建数据源:使用`HikariConfig`对象创建`HikariDataSource`实例。 4. 获取连接:通过`dataSource.getConnection()`方法从连接池中获取连接。 5. 关闭连接和数据源:使用完连接后,调用`connection.close()`方法关闭连接,最后调用`dataSource.close()`方法关闭数据源。 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 确保连接池的最大生命周期设置合理,避免设置过短导致频繁创建和销毁连接,影响性能;设置过长可能会导致连接长时间占用资源。 2. 不同的数据库驱动和连接池可能对连接过期时间的处理方式有所不同,需要根据实际情况进行调整。 3. 在使用连接池时,要注意异常处理,确保连接和数据源在出现异常时能够正确关闭,避免资源泄漏。 [2025-08-13 15:07:39 | AI写代码神器 | 666点数解答]