著者はまた、初心者のためのデータベース接続プールで、この記事を書くの主な目的は、関連するコンテンツデータベース接続プールの理解を容易にするためである、いくつかのように専門的かつ包括的でない記述は、私と一緒に負担してください。
まず、データベース接続プールの概要
データベース接続プールは、アプリケーションが既存のデータベース接続を再利用するのではなく、再作成することを可能にする、配布、管理、およびデータベース接続のリリースを担当し、データベース接続のないリリースがありませんので、避けるために、最大アイドル時間以上のデータベース接続がアイドル状態を解除します不作為によるデータベース接続。この技術は、大幅にデータベース操作のパフォーマンスを向上させることができます。
データベース接続プールは、容器、どちらが多くのデータベース接続を保ちました。ユーザーがデータベースにアクセスすると、データベース接続プールは、ユーザーが完了したときに、適切なデータベース接続を見つけるデータベース接続を返すように内側に開始されます。
リソースを節約するために、データベース接続プールを使用してデータベース接続を作成するには何の繰り返しがないため、ユーザのアクセスは、より効率的です。
第二に、データベース接続プールの使用
現在主流のデータベース接続プールは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日