|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectorg.springframework.dao.support.DaoSupport
org.springframework.jdbc.core.support.JdbcDaoSupport
jp.terasoluna.fw.message.DBMessageResourceDAOImpl
public class DBMessageResourceDAOImpl
DBからメッセージリソースを取得するDBMessageResourceDAOの実装クラス。
本クラスは、メッセージリソースを格納したDBから検索SQL文を使用し、
メッセージリソースをDBMessageオブジェクトのリストとしてまとめ、返却する。
使用方法
このクラスを使用するにはアプリケーションコンテキスト起動時にDAOとして
認識させる必要がある。
設定例
DAOの実装クラスとして本クラスを使用する場合、Bean定義ファイルに
以下の記述をする。
<bean id = "dBMessageResourceDAO" class = "jp.terasoluna.fw.message.DBMessageResourceDAOImpl"> <property name = "dataSource"> <ref bean = "dataSource"></ref> </property> </bean>解説
SELECT CODE,MESSAGE FROM MESSAGESである。 デフォルトの検索SQL文を使用する場合、DBのカラム名は以下の通りとなる。
SELECT メッセージコードのカラム名 , 言語コードのカラム名 , 国コードのカラム名, バリアントコードのカラム名 ,メッセージ本体のカラム名 FROM テーブル名テーブル名及び各カラム名の全てもしくは一部を指定することでDBのテーブル名及び カラム名を自由に設定出来る。一部の値のみを指定した場合、指定されていない値は 上記デフォルトの検索SQL文の値が使用される。
<bean id = "DBMessageResourceDAO" class = "jp.terasoluna.fw.message.DBMessageResourceDAOImpl"> <ref bean = "dataSource"></ref> </property> <property name = "tableName"> <value>DBMESSAGES</value> </property> <property name = "codeColumn"> <value>BANGOU</value> </property> <property name = "languageColumn"> <value>GENGO</value> </property> <property name = "countryColumn"> <value>KUNI</value> </property> <property name = "variantColumn"> <value>HOUGEN</value> </property> <property name = "messageColumn"> <value>MESSAGE</value> </property> </bean><bean>要素内<properities>要素のname属性に変更したいテーブル名や カラム名を指定し、value属性にて設定したい値を指定する。
SELECT BANGOU,GENGO,KUNI,HOUGEN,HONBUN FROM DBMESSAGESとなる。
<bean id = "DBMessageResourceDAO" class = "jp.terasoluna.fw.message.DBMessageResourceDAOImpl"> <property name = "dataSource"> <ref bean = "dataSource"></ref> </property> <property name = "findMessageSql"> <value> SELECT BANGOU as CODE,HONBUN as MESSAGE FROM DBDATA WHERE CATEGORY = "DBMESSAGE" </value> </property> </bean><bean>要素内<properities>要素のname属性に検索SQL文と使用する カラム名を指定し、value属性にて設定したいSQL文を指定する。
SELECT BANGOU as CODE,HONBUN as MESSAGE FROM DBDATA WHERE CATEGORY = "DBMESSAGE"となる。
DataSourceMessageSource
,
DBMessage
,
DBMessageQuery
,
DBMessageResourceDAO
フィールドの概要 | |
---|---|
protected String |
codeColumn
メッセージコードを格納するDBのカラム名。 |
protected String |
countryColumn
国コードを格納するDBのカラム名。 |
protected DBMessageQuery |
dBMessageQuery
メッセージリソースを取得するRDBMSオペレーションクラス。 |
protected String |
findMessageSql
外部から設定されるDB検索時に使用されるSQL文。 |
protected String |
languageColumn
言語コードを格納するDBのカラム名。 |
protected String |
messageColumn
メッセージを格納するDBのカラム名。 |
protected String |
tableName
メッセージを格納するDBのテーブル名。 |
protected String |
variantColumn
バリアントコードを格納するDBのカラム名。 |
クラス org.springframework.dao.support.DaoSupport から継承されたフィールド |
---|
logger |
コンストラクタの概要 | |
---|---|
protected |
DBMessageResourceDAOImpl()
DBMessageResourceDAOImplを生成する。 |
メソッドの概要 | |
---|---|
protected void |
checkNotRequiredColumnName(String value,
String columnName)
必須カラム以外のカラム名をチェックする。 |
protected void |
checkRequiredColumnName(String value,
String columnName)
必須カラムのカラム名及びテーブル名をチェックする。 |
List<DBMessage> |
findDBMessages()
DBから取得したメッセージリソースをDBMessageオブジェクトに格納し、リスト型 で返却する。 |
protected void |
initDao()
DBよりメッセージリソースを取得するDBMessageQueryを生成する。 |
protected String |
makeSql()
DBからメッセージリソースを取得するSQL文を生成する。 |
void |
setCodeColumn(String codeColumn)
メッセージコードを格納するDBのカラム名を設定する。 |
void |
setCountryColumn(String countryColumn)
国コードを格納するDBのカラム名を設定する。 |
void |
setFindMessageSql(String findMessageSql)
DBからメッセージリソースを検索するSQL文を設定する。 |
void |
setLanguageColumn(String languageColumn)
言語コードを格納するDBのカラム名を設定する。 |
void |
setMessageColumn(String messageColumn)
メッセージを格納するDBのカラム名を設定する。 |
void |
setTableName(String tableName)
メッセージを格納するDBのテーブル名を設定する。 |
void |
setVariantColumn(String variantColumn)
バリアントコードを格納するDBのカラム名を設定する。 |
クラス org.springframework.jdbc.core.support.JdbcDaoSupport から継承されたメソッド |
---|
checkDaoConfig, createJdbcTemplate, getConnection, getDataSource, getExceptionTranslator, getJdbcTemplate, initTemplateConfig, releaseConnection, setDataSource, setJdbcTemplate |
クラス org.springframework.dao.support.DaoSupport から継承されたメソッド |
---|
afterPropertiesSet |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
protected String tableName
protected String codeColumn
protected String languageColumn
protected String countryColumn
protected String variantColumn
protected String messageColumn
protected String findMessageSql
protected DBMessageQuery dBMessageQuery
コンストラクタの詳細 |
---|
protected DBMessageResourceDAOImpl()
メソッドの詳細 |
---|
public void setTableName(String tableName)
tableName
- メッセージを格納したDBのテーブル名。public void setCodeColumn(String codeColumn)
codeColumn
- メッセージコードを格納したDBのカラム名。public void setLanguageColumn(String languageColumn)
languageColumn
- 言語コードを格納したDBのカラム名。public void setCountryColumn(String countryColumn)
countryColumn
- 国コードを格納したDBのカラム名。public void setVariantColumn(String variantColumn)
variantColumn
- バリアントコードを格納したDBのカラム名。public void setMessageColumn(String messageColumn)
messageColumn
- メッセージを格納したDBのカラム名。public void setFindMessageSql(String findMessageSql)
findMessageSql
- 外部から設定されるDB検索時に使用されるSQL文。protected void initDao()
org.springframework.dao.support.DaoSupport
内の initDao
IllegalArgumentException
- DBとの接続が取得できなかった場合public List<DBMessage> findDBMessages()
DBMessageResourceDAO
内の findDBMessages
protected String makeSql()
protected void checkRequiredColumnName(String value, String columnName)
value
- DBでのカラム名もしくはテーブル名columnName
- 検査対象のカラムもしくはテーブルprotected void checkNotRequiredColumnName(String value, String columnName)
value
- DBでのカラム名columnName
- 検査対象のカラム
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |