データベース接続プールの基本を学びます

著者はまた、初心者のためのデータベース接続プールで、この記事を書くの主な目的は、関連するコンテンツデータベース接続プールの理解を容易にするためである、いくつかのように専門的かつ包括的でない記述は、私と一緒に負担してください。

まず、データベース接続プールの概要

データベース接続プールは、アプリケーションが既存のデータベース接続を再利用するのではなく、再作成することを可能にする、配布、管理、およびデータベース接続のリリースを担当し、データベース接続のないリリースがありませんので、避けるために、最大アイドル時間以上のデータベース接続がアイドル状態を解除します不作為によるデータベース接続。この技術は、大幅にデータベース操作のパフォーマンスを向上させることができます。

データベース接続プールは、容器、どちらが多くのデータベース接続を保ちました。ユーザーがデータベースにアクセスすると、データベース接続プールは、ユーザーが完了したときに、適切なデータベース接続を見つけるデータベース接続を返すように内側に開始されます。
リソースを節約するために、データベース接続プールを使用してデータベース接続を作成するには何の繰り返しがないため、ユーザのアクセスは、より効率的です。

第二に、データベース接続プールの使用

現在主流のデータベース接続プールはC3P0、DBCP、Tomcatの対応のJDBCプール、持っている BoneCP、ドルイドそれらの間の比較に関して、などは、のブログの首長を参照することができ、実際の開発に比べて主流のJavaデータベース接続プールの構成特定の選択は、その一つはドルイドDBCPと実際の状況をお勧めすることができます。

使用のドルイド

ドルイドは、ログ監視を添加しながら、良好なモニタ実装DB接続プールすることができ、SQLを言うことができ、そのようなDBプールとしてC3P0、DBCP、PROXOOLの利点を組み合わせアリババオープンソースプラットフォームを達成するために、データベース接続のプールであります監視のためのDB接続プール生まれ。
使用ドルイド、なければならない最初のダウンロードとインポートに対応するJARパッケージ、ドルイドダウンロード対応するJARパッケージ構成に導入した後、設定プロセスは兄ブログを参照してもよいドルイド(ドルイド)詳細プロフィール・データ・プール、および簡単な実装、アプローチ提案プロファイル。そして、あなたは(プロジェクトの任意のディレクトリに置くことができ、設定ファイル)設定ファイルをロードしています。
上記の準備が完了した後、することができますDruidDataSourceFactoryデータベース接続プールのオブジェクト、そして通じgetConnectionデータベース接続を取得します。特定の実装では、以下のコードを参照してください。

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;

public class DruidTest {

    public static void main(String[] args) throws Exception {

        //加载配置文件
        Properties properties = new Properties();
        InputStream inputStream =
                DruidTest.class.getClassLoader().getResourceAsStream("druid.properties");
        properties.load(inputStream);

        //获取连接池对象
        DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);

        //获取连接
        Connection connection = dataSource.getConnection();

        //输出,测试一下
        System.out.println(connection);
    }
}

内部のドルイド別のクラスでは毎回のためにコードを書くことを避けるために関連ドルイドツールの簡素化操作、で構成することができます。ドルイドツールのコードは次のよう:

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

/**
 * druid连接池工具类
 */
public class JDBCUtils {

    private static DataSource dataSource;

    static {
        //加载配置文件
        Properties properties = new Properties();
        InputStream inputStream =
                JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");
        try {
            properties.load(inputStream);

            dataSource = DruidDataSourceFactory.createDataSource(properties);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    //获取连接
    public static Connection getConnection() throws SQLException {
        return dataSource.getConnection();
    }

    //释放资源
    public static void close(Statement statement, Connection connection) throws SQLException {

        close(null, statement, connection);

    }

    //释放资源
    public static void close(ResultSet resultSet, Statement statement, Connection connection)
            throws SQLException {
        if (resultSet != null) {
            resultSet.close();
        }

        if (statement != null) {
            statement.close();
        }

        if (connection != null) {
            //注意这里是归还数据库连接,而不是关闭
            connection.close();
        }
    }


    //获取连接池
    public static DataSource getDataSource() {
        return dataSource;
    }


}

その後の使用のドルイドで、単に変更ツールに関連するメソッドを呼び出し、それが便利です。

ここに画像を挿入説明
2019年12月22日

公開された52元の記事 ウォン称賛59 ビュー6826

おすすめ

転載: blog.csdn.net/ataraxy_/article/details/103651457