您好,登录后才能下订单哦!
密码登录
            
            
            
            
        登录注册
            
            
            
        点击 登录注册 即表示同意《亿速云用户服务条款》
        在Java中,可以使用数据库连接池来管理和复用数据库连接,从而提高应用程序的性能和效率。以下是一个简单的示例,展示了如何使用HikariCP库实现数据库连接池。
pom.xml文件中添加以下依赖:<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
    <version>4.0.3</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.26</version>
</dependency>
DatabaseConnectionPool.java的类,用于初始化和管理数据库连接池:import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import java.sql.Connection;
import java.sql.SQLException;
public class DatabaseConnectionPool {
    private static HikariDataSource dataSource;
    static {
        HikariConfig config = new HikariConfig();
        config.setJdbcUrl("jdbc:mysql://localhost:3306/mydatabase");
        config.setUsername("username");
        config.setPassword("password");
        config.addDataSourceProperty("cachePrepStmts", "true");
        config.addDataSourceProperty("prepStmtCacheSize", "250");
        config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
        config.setMaximumPoolSize(10);
        config.setMinimumIdle(5);
        config.setConnectionTimeout(30000);
        config.setIdleTimeout(600000);
        config.setMaxLifetime(1800000);
        dataSource = new HikariDataSource(config);
    }
    public static Connection getConnection() throws SQLException {
        return dataSource.getConnection();
    }
    public static void closeConnection(Connection connection) throws SQLException {
        if (connection != null) {
            connection.close();
        }
    }
}
在这个示例中,我们使用HikariCP库创建了一个名为dataSource的数据库连接池。我们配置了连接池的各种属性,例如最大连接数、最小空闲连接数等。
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
public class Main {
    public static void main(String[] args) {
        try (Connection connection = DatabaseConnectionPool.getConnection();
             Statement statement = connection.createStatement();
             ResultSet resultSet = statement.executeQuery("SELECT * FROM mytable")) {
            while (resultSet.next()) {
                System.out.println("Column1: " + resultSet.getString(1));
                System.out.println("Column2: " + resultSet.getString(2));
            }
        } catch (SQLException e) {
            System.err.println("Error: " + e.getMessage());
        }
    }
}
在主方法中,我们使用DatabaseConnectionPool.getConnection()方法获取一个数据库连接,然后使用该连接创建一个Statement对象并执行SQL查询。最后,我们使用ResultSet对象处理查询结果。
注意,我们在try-with-resources语句中使用了数据库连接、语句和结果集对象。这样可以确保在操作完成后自动关闭这些资源,避免资源泄漏。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。