MySQLのインストールおよび設定、ユーザおよびデータベースの作成は済ませている前提で、GlassFish v3.1.2.2でMySQLのJDBC設定を行います。
1.MySQLのJDBCドライバをインストール
JDBCドライバをダウンロードします。
wget http://downloads.mysql.com/archives/get/file/mysql-connector-java-5.1.26.tar.gz
解凍し、.jarファイルをGlassFishドメインのlibディレクトリに配置する。
ここでは、GlassFishのインストール先が/usr/local/glassfish3、ドメインをdomain1と想定する。
tar xvzf mysql-connector-java-5.1.26.tar.gz sudo cp mysql-connector-java-5.1.26-bin.jar /usr/local/glassfish3/glassfish/domains/domain1/lib
2.GlassFishでのJDBC設定
JDBCドライバをドメインのlibディレクトリに配置後、GlassFishを再起動する。
以下は、WebベースのGlassFish管理画面「共通タスク」で設定する。
JDBC接続プールを設定。
・新規JDBC接続プール(ステップ1/2)
プール名 | 任意。例:jdbc/mysql |
---|---|
リソースタイプ | javax.sql.DataSource |
データベース・ドライバのベンダー | MySQL |
・新規JDBC接続プール(ステップ2/2)
一部の追加プロパティのみ設定します。他はすべてデフォルトのまま。
User | MySQLで作成したユーザ |
---|---|
Password | MySQLユーザのパスワード |
ServerName | MySQL稼働のホスト。例:localhost |
Port | MySQLで設定したポート。デフォルト:3306 |
DatabaseName | MySQL |
URL | jdbc:mysql://[ホスト:ポート]/[データベース名] |
JDBCリソースの設定。
・新規JDBCリソース
JNDI名 | 任意。例:jdbc/mysql |
---|---|
プール名 | 作成したJDBC接続プールの名前。上の例ではjdbc/mysql |
3.Javaソースファイル上での指定
次のようにインスタンス変数にjavax.annotation.Resourceアノテーションを使用してインジェクションできます。lookupにGlassFishで設定したJDBCリソースのJNDI名を指定します。
@Resource(lookup = "jdbc/mysql") private DataSource ds;