jp.terasoluna.fw.web.struts.action
クラス MessageResourcesDAOImpl

java.lang.Object
  上位を拡張 jp.terasoluna.fw.web.struts.action.MessageResourcesDAOImpl
すべての実装されたインタフェース:
MessageResourcesDAO

public class MessageResourcesDAOImpl
extends java.lang.Object
implements MessageResourcesDAO

MessageResourcesDAOの実装クラス。 DBMessageResourcesFactoryをメッセージリソースファクトリクラスとして 用いる場合、DBMessageResourcesはMessageResourcesDAOを実装したクラスを 使用する。詳細はDBMessageResourcesを参照のこと。

使用方法
DBMessageResourcesDAOImplはSpringフレームワークを利用した実装である。 しかしStrutsフレームワークのアーキテクチャではDIコンテナを取得する術を 持たないため、データソースの定義を専用に行う必要がある。
DBアクセスに必要なデータソースの定義をdbMessageResources.xmlという名前の Bean定義ファイルに下記のように定義し、クラスパス上に置き、以下のように書く。
※このBean定義ファイルはBLogicなどの設定に用いるものとは別に用意すること。
JNDIからデータソースを取得する場合

 <bean id="sampleDataSource" 
       class="org.springframework.jndi.JndiObjectFactoryBean" 
       abstract="false" scope="singleton" 
       lazy-init="default" 
       autowire="default" 
       dependency-check="default">
   <property name="jndiName" 
             value="sampleJndiDataSource" /> 
 </bean>
 
各要素の属性はシステムによって異なるので確認すること。

JNDIを利用しない場合

 <bean id="dataSource"
       class="org.springframework.jdbc.datasource.DriverManagerDataSource">
   <property name="driverClassName">
     <value>oracle.jdbc.OracleDriver</value>
   </property>
   <property name="url">
     <value>jdbc:oracle:thin:@192.0.34.166:1521:ORCL</value>
   </property>
   <property name="username"><value>username</value></property>
   <property name="password"><value>password</value></property>
 </bean>
 
上記の設定のうち、次の4つはシステムによって異なるので確認すること。
  1. ドライバクラス名(oracle.jdbc.OracleDriverの部分)
  2. URL(jdbc:oracle:thin:@192.0.34.166:1521:ORCLの部分)
  3. ユーザ名(usernameの部分)
  4. パスワード(passwordの部分)
なお、Webアプリケーションで使用する場合は基本的にJNDIを用いるほうを推奨する。


フィールドの概要
static java.lang.String BEANS_XML
          データソースの定義されているBean定義ファイル。
private static java.lang.String DATASOURCE_BEAN_ID
          データソースbeanを取得する際のid値。
private static Log log
          ログクラス。
private static java.lang.String MESSAGE_RESOURCES_DAO_IMPL_ERROR
          データソースの取得失敗を表すエラーコード。
 
コンストラクタの概要
MessageResourcesDAOImpl()
           
 
メソッドの概要
protected  java.lang.String getBeansXml()
          データソースが定義されたBean定義ファイル名を取得する。
 java.util.Map<java.lang.String,java.lang.String> queryMessageMap(java.lang.String sql)
          メッセージリソースを取得する。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

BEANS_XML

public static final java.lang.String BEANS_XML
データソースの定義されているBean定義ファイル。

関連項目:
定数フィールド値

DATASOURCE_BEAN_ID

private static final java.lang.String DATASOURCE_BEAN_ID
データソースbeanを取得する際のid値。

関連項目:
定数フィールド値

MESSAGE_RESOURCES_DAO_IMPL_ERROR

private static final java.lang.String MESSAGE_RESOURCES_DAO_IMPL_ERROR
データソースの取得失敗を表すエラーコード。

関連項目:
定数フィールド値

log

private static Log log
ログクラス。

コンストラクタの詳細

MessageResourcesDAOImpl

public MessageResourcesDAOImpl()
メソッドの詳細

queryMessageMap

public java.util.Map<java.lang.String,java.lang.String> queryMessageMap(java.lang.String sql)
メッセージリソースを取得する。 与えられたSQLの第一カラムをMapのキー、第二カラムをMapの値として 設定したMapを返す。 SQLで返された結果セットの第一カラムに重複があった場合は、どれか1つしか 登録されていないMapを返す。

定義:
インタフェース MessageResourcesDAO 内の queryMessageMap
パラメータ:
sql - メッセージリソースを取得するためのSQL
戻り値:
キーにメッセージキー、値にメッセージ文言の入ったMap

getBeansXml

protected java.lang.String getBeansXml()
データソースが定義されたBean定義ファイル名を取得する。

戻り値:
データソースが定義されたBean定義ファイル名