検索
連載

MySQLの常識を知りセットアップしてJSPからDB操作Webアプリの常識をJSPとStrutsで身につける(8)(3/4 ページ)

本連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPやASP.NET、Ruby on Railsなど)の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です

PC用表示 関連情報
Share
Tweet
LINE
Hatena

Javaファイル上で、DB接続はどのように行われているのか

 次に、「C:\PKG\Hello\WEB-INF\src」配下に「login」を作成して、下記のJavaファイル「LoginAction.java」を作成してください。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 ここで、今回のLoginAction.javaのデータベースのアクセス処理について説明します。まず、初期値としてクラスや各種インターフェイスを定義します。

表 DB操作のクラス/インターフェイス
クラス/
インターフェイス名
概要
InitialContext ネーミング操作を実行するための開始コンテキストで、コンテキストを基準にしている
DataSource 物理データソースへの接続に対する情報を保持するためのインターフェイス
Connection DBへの接続のために使用するオブジェクト
PreparedStatement プリコンパイルされたSQL文を表すオブジェクト
ResultSet DBから取得した結果を格納できるオブジェクト。DBに照会する文を実行することによって生成される

 次に、JDBCドライバの情報をTomcatの設定ファイル「server.xml」のコンテキストContext)から取得します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 JDBCドライバの情報の情報を使用して、DBへアクセスします。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 DBにアクセスした状態で、SQL文を作成してIDを条件にセットし、実行した結果を取得します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 SQL文の「?」は引数を意味し、setStringメソッドで引数をセットしています。また、PreparedStatementは通常のStatementとは異なり、事前にコンパイルされたSQL文を使用するので、Statementよりも処理が高速です。詳細は、記事「準備済みSQL命令でデータベースアクセスを効率化する」を参照してください。

注意! 「DBとの切断は必ず行いましょう」

注意すべきポイントとして、DB操作の際はエラー発生の有無にかかわらず、必ずDBとの切断を行わなければなりません。今回は、例外処理の「finally」を使用してDBとの切断を行っています。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

本稿では詳細まで解説しませんが、finally内の処理を含めたDBの切断はとても重要なことですので、記事「データベースに接続したら後始末は確実に」を参照してください。


 次ページではいよいよ、DBと連携したWebアプリケーションを実行してみます。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る