Tomcatc3p0 で jnid データ ソースを構成する 2 つの実装方法の分析

Tomcatc3p0 で jnid データ ソースを構成する 2 つの実装方法の分析

c3p0の使用

c3p0jarパッケージをインポートする

<!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
  <依存関係>
   <groupId>com.mchange</groupId>
   <アーティファクトID>c3p0</アーティファクトID>
   <バージョン>0.9.5.2</バージョン>
  </依存関係>

tomcatのcontext.xmlファイルにデータソース設定を追加します。

<リソース 
    auth="コンテナ" 
    説明="DB 接続" 
    ドライバークラス="com.mysql.jdbc.Driver" 
    最大プールサイズ = "100" 最小プールサイズ = "2" 
    取得増分="2" 
    名前="jdbc/myDB" 
    ユーザー="root" 
    パスワード="123456" 
    ファクトリー="org.apache.naming.factory.BeanFactory" 
    タイプ = "com.mchange.v2.c3p0.ComboPooledDataSource" 
    jdbcUrl="jdbc:mysql://localhost:3306/attendance_system?characterEncoding=utf8&amp;ser​​verTimezone=GMT%2B8" />

接続する

保護された void doGet(HttpServletRequest リクエスト、HttpServletResponse レスポンス)
      ServletException、IOException をスローします {
    試す {
      //コンテキストを作成Context context=new InitialContext();
      //データソースを取得する ComboPooledDataSource comboPooledDataSource= (ComboPooledDataSource) context.lookup
          ("java:comp/env/jdbc/myDB");
      //データベース接続を取得します。Connection connection=comboPooledDataSource.getConnection();
      
      if(!connection.isClosed()){
        System.out.println("正常に接続されました");
      }
    } キャッチ (NamingException e) {
      e.printStackTrace();
    } キャッチ (SQLException e) {
      e.printStackTrace();
    }
  }

ドルイドの使用

jarパッケージをインポートする

 <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
  <依存関係>
   <グループID>com.alibaba</グループID>
   <artifactId>ドルイド</artifactId>
   <バージョン>1.1.16</バージョン>
  </依存関係>

tomcatのcontext.xmlファイルにデータソース設定を追加します。

<リソース
  名前="jdbc/Mysqlデータソース"
  ファクトリー="com.alibaba.druid.pool.DruidDataSourceFactory"
  auth="コンテナ"
  タイプ="javax.sql.DataSource"
  ドライバークラス名="com.mysql.cj.jdbc.Driver"
  url="jdbc:mysql://localhost:3306/yl?characterEncoding=utf8&amp;ser​​verTimezone=GMT%2B8"
  ユーザー名="root"
  パスワード="123456"
  最大アクティブ = "50"
  最大待機時間 = "10000"
  放棄されたものを削除="true"
  削除放棄タイムアウト="60"
  logabandoned="false"
  フィルター="統計"/>

接続する

保護された void doGet(HttpServletRequest リクエスト、HttpServletResponse レスポンス)
      ServletException、IOException をスローします {
    試す {
      //コンテキスト オブジェクトを取得します。Context context=new InitialContext();
      //データ ソースを取得します。 DataSource ds= (DataSource) context.lookup("java:comp/env/jdbc/MysqlDataSource");
      //Connection オブジェクトを取得します。Connection connection=ds.getConnection();
​
      if(!connection.isClosed()){
        System.out.println("接続に成功しました");
​
      }
    } キャッチ (NamingException e) {
      e.printStackTrace();
    } キャッチ (SQLException e) {
      e.printStackTrace();
    }
  }

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Tomcat データ ソースの原理、構成、使用方法の紹介
  • Tomcat データ ソース構成方法_JBuilder
  • Tomcat で JNDI データ ソースを構成する 3 つの方法

<<:  時点に基づくMySQLクイックリカバリソリューション

>>:  Vue の要素カレンダー コンポーネントを使用したサンプル コード

推薦する

削除、切り捨て、ドロップの違いと選択方法

序文先週、同僚が私に尋ねました。「兄さん、MySQL にバグを見つけました。午後にディスクをクリーン...

CentOS6.7 mysql5.6.33 でデータファイルの場所を変更する方法

問題: MySQL がデータ ファイルを保存するパーティションの容量が小さく、現在いっぱいになってい...

Angular CDK を使用してサービスポップアップトーストコンポーネント機能を実装する

目次1. 環境設備2. ToastコンポーネントとToastServiceを作成する2.1 Toas...

Linuxの運用・保守の基礎知識から上級者向け知識までをまとめました

運用保守エンジニアは、初期段階では非常に大変な仕事です。この期間中、コンピューターの修理、ネットワー...

Linux resolv.conf の簡単な分析

1. はじめにresolv.conf は、さまざまなオペレーティング システムのドメイン ネーム シ...

オンラインチャットを実現するVue+sshフレームワーク

この記事では、オンラインチャットを実現するためのVue + sshフレームワークの具体的なコードを参...

Vue プロジェクトでのスキャンコード決済の実装例 (デモ付き)

目次需要背景思考分析UI 表示始める1. 支払いコンポーネントテンプレートを作成する2. 支払いコン...

Linux環境変数ファイルの簡単な紹介

Linux システムでは、環境変数は適用範囲に応じて、システムレベルの環境変数とユーザーレベルの環境...

MySQL 最適化: キャッシュ最適化

何人かのブロガーが私の記事を評価してくれたのは嬉しいです。マークと知り合ってからは、私は彼をフォロー...

MySQL 8.0 をインストールした後、初めてログインするときにパスワードを変更する問題を解決する

MySQL 8.0.16で初回ログイン時のパスワードを変更する方法を紹介します。 MySQLデータベ...

htmlハイパーリンクaのクリックイベントの後、hrefで指定されたアドレスにジャンプします。

場合によっては、ジャンプを完了するために href の代わりにハイパーリンク <a> を...

JavaScript で文字列内の最長の単語を見つける 3 つの方法 (推奨)

この記事は、Free Code Camp の基本アルゴリズム スクリプト「文字列内の最長の単語を見つ...

MySQLはカバーインデックスを使用してテーブルリターンを回避し、クエリを最適化します。

序文カバーリング インデックスについて説明する前に、まずそのデータ構造である B+ ツリーを理解する...

Vue.jsは9グリッド画像表示モジュールを実装します

Vue.js を使用して、クリックしてズームできる 9 グリッドの画像表示モジュールを作成しました。...