PR

Tomcatと外部のプログラムを連携させよう!

2008年1月10日(木)
羽倉 敬

Tomcatとデータベースの接続

今日では、処理されるデータの大半はリレーショナルデータベース管理システム(RDBMS)で管理されています。Webアプリケーションもその例外ではありません。

JavaにはJDBCというデータベース接続のためのAPIが用意されており、データベースの種別によらない共通のインターフェースを提供します。今回はこのJBDCを利用します。

JDBC 2.0からはデータソースという概念が入りました。これによりプロダクトごとに異なるJDBCドライバやURLなどの情報を設定ファイルに持ち、プログラ ム上では共通のデータソースオブジェクトから接続を取得できるようになっています。データソースの設定ファイルを書き換えることで、JDBCドライバや データベースを切り替えることが可能となり、共通のコードをさまざまな環境で使用することができるのです。

TomcatではJNDIルックアップという機能を利用して、JDBCをデータソースとして取得できます。また、Tomcatはデフォルトでデータベースプーリングが可能です。

今回解説に利用しているTomcat 5.5ではCATALINA_HOME/common/lib/の中のnaming-factory.jarというJARファイルに「Jakarta-Commons DBCP」「Jakarta-Commons Collections」「Jakarta-CommonsPool」といったDBCP用ライブラリが含まれています。これにより、Tomcat起動時に データベースへの物理接続のプールが形成され、高速でスケーラブルなWebアプリケーションを実現できます。

ではTomcatでデータソースを設定し利用する手順を解説していきましょう(サンプルデータベースにはMySQL 5.0を使用しています)。

データベースに接続するための手順

   WebアプリケーションからRDBMSに接続するための手順は、「1.JDBCドライバの入手」「2.WebアプリケーションのコンテキストにJNDIリソースを設定する要 素、要素を追加する」「3.web.xmlに2で設定したJNDIリソースを参照する要素を追加する」「4.プログラム中でJDNIルックアップを使ってデータソースを取得する」となります。

今回はMySQL上のデータベースtest_dbに表1のようなmembership_listテーブルがあるものとして作業を進めていきます。MySQLのインストール方法については本連載では割愛いたします(MySQLに関する詳しい説明は「今からはじめるMySQL」を参照してください)。

id name age tel
1 山田 23 090-1234-5678
2 佐藤 34 080-2222-2222
3 鈴木 45 070-3333-3333
表1:membership_listテーブル

1. JDBCドライバの入手

JDBCドライバはデータベースのベンダーやオープンソースプロジェクトから提供されています。今回はMySQLのサイト(http://dev.mysql.com/downloads/connector/j/) からJDBCドライバを入手しました。ダウンロードしてきた圧縮アーカイブを解凍すると「mysql-connector-java-5.1.5- bin.jar」というJARファイルが入っています。これをCATALINA_HOME/commom/lib/ディレクトリにコピーすることで、 TomcatからJDBCドライバを利用することができます。

株式会社ビーブレイクシステムズ

千葉大学法経学部卒業。大学時代よりオープンソースに興味を持ち、オープンソース専業ベンダーのビーブレイク システムズに入社。現在に至る。また、現在は社内技術サークルの中心メンバーとして日々提案・啓蒙活動を行う。座右の銘は「自らが求めてつくらなければ、 自身が求めるものはできない」

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています