連載
» 2009年06月04日 00時00分 公開

Hibernateで覚えるO/RマッピングとBeanの常識Webアプリの常識をJSPとStrutsで身につける(9)(2/3 ページ)

[眞野寿彦,株式会社メセナ・ネットコム]

Hibernateを使うサンプルのための準備

 Hibernateを組み込むのに使用するワークスペースは、前回のサンプルプログラムと同様の「PKG」です。

 まず、「Hibernate Core for Java」のページより、2009年5月現在で最新版の「hibernate-distribution-3.3.1.GA-dist.tar.gz」をダウンロードしてください。ダウンロードした「hibernate-distribution-3.3.1.GA-dist.tar.gz」を解凍して、解凍したフォルダから下記のJARファイルを「PKG\Hello\WEB-INF\lib」配下にコピーします。

表2 コピー先とコピーするファイル名
ディレクトリ名 JARファイル名
hibernate-distribution-3.3.1.GA配下 hibernate3.jar
hibernate-distribution-3.3.1.GA\lib\required配下 antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
javassist-3.4.GA.jar
jta-1.1.jar
slf4j-api-1.5.2.jar

 また、ログ用のフレームワーク「SLF4J」のサイトから(slf4j-1.5.2.tar.gz)をダウンロード・解凍し、解凍したフォルダの「slf4j-log4j12-1.5.2.jar」ファイルを「PKG\Hello\WEB-INF\lib」配下にコピーします。

 次に、Apacheの公式ページ「Logging Services」より、「apache-log4j-1.2.15.tar.gz」をダウンロード・解凍し、解凍したフォルダの「log4j-1.2.15.jar」ファイルを「/TOMCAT_HOME/lib」配下へコピーします。これで、サンプルを作るためのインストールは完了です。

 それでは、実際に設定ファイルを編集、作成していきましょう。

Hibernateの設定ファイルを記述

 まず、Hibernateの設定ファイルを記述します。Hibernateの設定ファイルは、Hibernateがデータベースに接続するための設定や、マッピングファイルの場所を教えるための設定を行います。

 「PKG\Hello\src」配下に、「hibernate.cfg.xml」ファイルを作成してください。

hibernate.cfg.xml
<!DOCTYPE hibernate-configuration
    PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
 
<hibernate-configuration>
 
  <session-factory>
    <property name="hibernate.connection.driver_class">
      org.gjt.mm.mysql.Driver
    </property>
    <property name="hibernate.connection.url">
      jdbc:mysql://localhost/test_db?useUnicode=true&characterEncoding=sjis
    </property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">root</property>
    <property name="hibernate.connection.pool_size">3</property>
    <property name="hibernate.dialect">
      org.hibernate.dialect.MySQLDialect
    </property> 
    <property name="hibernate.show_sql">true</property>
    <!-- Mapping files -->
    <mapping resource="login/form/User.hbm.xml"/>
  </session-factory>
 
</hibernate-configuration>

 設定している内容をまとめると、下記のようになります。

表3 設定内容
項目 設定する値(今回の場合) 内容
hibernate.connection.dribar_class org.gjt.mm.mysql.Driver 利用するJDBCドライバ
hibernate.connection.url jdbc:mysql://localhost/test_db?useUnicode=true&characterEncoding=sjis 接続先URL
hibernate.connection.username root ユーザー名
hibernate.connection.password root(rootで設定したパスワード) パスワード
hibernate.dialect hibernate.dialect.MySQLDialect RDBMSの方言を吸収するクラス
hibernate.show_sql true SQL文標準出力設定
mapping file com/techscore/hibernate/User.hbm.xml マッピングファイル指定(複数指定可能)

 次に、マッピングファイル「User.hbm.xml」を準備します。マッピングファイルは、JavaオブジェクトとRDBを結び付けるために設定するものです。

User.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
  "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping default-lazy="false">
    <class name="login.form.LoginORForm" table="USER">
      <id name="id" type="string" unsaved-value="null" >
         <column name="ID" sql-type="varchar(20)" not-null="true"/>
         <generator class="assigned"/>
      </id>
      <property name="password" />
      <property name="name" />
    </class>
</hibernate-mapping>

 次ページでは引き続き、O/Rマッピングを使ったWebアプリケーションを作ります。Beanの活用の仕方などを具体的なソースコードを見ながら解説します。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。