Tomcat下でJDBCを使ってMySQLに接続する(Mac)
サーバサイドJavaという本を読み始めて数日経ちました.
- 作者: 山田祥寛
- 出版社/メーカー: 翔泳社
- 発売日: 2013/10/30
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
JDBCを使ってMySQLとの接続をする部分で少しハマったので、補助的な意味合いで簡単にまとめておこうと思います. 本の中ではWindows用に書かれていて、初めのほうにあるインストールの方法あたりを読まずに進めていたのでなんだかハマったような感じです.
初めに実行環境ですが、
Mac OS X Yosemite 10.10
Java version "1.8.0_31"
Tomcat version "8.0.18.0"
(2015/02/17日現在)
です.
ドライバをインストールする.
デフォルトのJDBCでは個々のデータベース(MySQLやPostgreSQL等)と接続することはできないので、個別に接続するデータベース用のドライバをインストールする必要があります.
今回はMySQLと接続するので、Connector/Jというドライバをインストールします. 以下のサイトからConnector/Jを選択し、「Platform Independent」から"mysql-connector-java-5.1.34.tar.gz"をダウンロードします.
http://dev.mysql.com/downloads/connector/
ダウンロードしたファイルを展開し、以下のディレクトリにコピーします.
・"/usr/share/java/"
・"/Library/Tomcat/lib/"
context.xmlファイルを編集する.
JDBCを使用するアプリケーションのcontext.xmlに以下のように記述します. (上述したサーバサイドJavaを参考にしています)
<Context displayName="Teach Yourself Java" path="/selfjsp" docBase="/selfjsp" reloadable="true"> <Resource name="jdbc/selfjsp" auth="Container" type="javax.sql.DataSource" username="username" password="password" driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/selfjsp?useUnicode=true&a mp;characterEncoding=UTF-8" maxActive="4" maxWait="5000" maxIdle="2" validationQuery="SELECT count(*) FRO M member" /> </Context>
MySQLに接続する.
jspで接続を確認します.
<%@ page contentType="text/html; charset=UTF-8" import="java.sql.*,javax.naming.*,javax.sql.*" %> <!DOCTYPE> <html> <head> <meta charset="UTF-8" /> <title>データベースへの接続</title> </head> <body> <% Context context = new InitialContext(); DataSource ds = (DataSource)context.lookup("java:comp/env/jdbc/selfjsp"); Connection db = ds.getConnection(); db.close(); %> データベースへの接続に成功しました。 </body> </html>
以上です.
こうやってまとめてみると、ただ単にドライバを追加して接続させてるだけでした.(笑)