openGionopenGion
5.5.0.0

org.opengion.hayabusa.common
クラス InitFileLoader

java.lang.Object
  上位を拡張 org.opengion.hayabusa.common.InitFileLoader

public final class InitFileLoader
extends java.lang.Object

ORACLE XDK 形式のXMLファイルを読み取って、データベースに登録します。 起動(実行)は、コンテキスト読み取り時の初回のみです。GE12パラメータを変更した 場合は、コンテキストのリロードが必要です。 登録の実行有無の判断は、ファイルの更新時刻より判断します。(useTimeStamp=true の場合) これは、読み取りファイルの更新時刻が、0でない場合、読み取りを行います。 読み取りが完了した場合は、更新時刻を 0 に設定します。 読み取るファイルは、クラスローダーのリソースとして取得されますので、クラスパスが 設定されている必要があります。また、ファイルは、拡張子が xml で、UTF-8でエンコード されている必要があります。通常は、ファイル名がテーブル名と同一にしておく必要が ありますが、ROWSETのtable属性にテーブル名をセットしておくことも可能です。 ファイルの登録順は、原則、クラスローダーの検索順に、見つかった全てのファイルを 登録します。データそのものは、INSERT のみ対応していますので、原則登録順は無視されます。 ただし、拡張XDK 形式で、EXEC_SQL タグを使用した場合は、登録順が影響する可能性があります。 例:GE12.xml GE12 テーブルに登録するXMLファイル 登録時に、既存のデータの破棄が必要な場合は、拡張XDK 形式のXMLファイルを 作成してください。これは、EXEC_SQL タグに書き込んだSQL文を実行します。 詳細は、HybsXMLHandler クラスを参照してください。 <ROWSET tableName="XX" > <EXEC_SQL> 最初に記載して、初期処理(データクリア等)を実行させる。 delete from GEXX where YYYYY </EXEC_SQL> <ROW num="1"> <カラム1>値1</カラム1> ・・・ <カラムn>値n</カラムn> </ROW> ・・・ <ROW num="n"> ・・・ </ROW> <EXEC_SQL> 最後に記載して、項目の設定(整合性登録)を行う。 update GEXX set AA='XX' , BB='XX' where YYYYY </EXEC_SQL> <ROWSET>

変更履歴:
4.0.0 (2004/12/31) 新規作成
機能階層
初期化
バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

コンストラクタの概要
InitFileLoader(java.sql.Connection conn)
          コネクションを引数にする、コンストラクターです。
InitFileLoader(java.sql.Connection conn, java.lang.String classPath)
          コネクションと検索パスを指定して構築する、コンストラクターです。
 
メソッドの概要
 void loadInitFiles(boolean useTimeStamp)
          対象となるファイル群を検索します。
 void setFileCommit(boolean fileCmt)
          ファイル毎にコミット処理を行うかどうか指定します(初期値:false[行わない])。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

InitFileLoader

public InitFileLoader(java.sql.Connection conn)
コネクションを引数にする、コンストラクターです。 classPath="resource" で初期化された InitFileLoader を作成します。

パラメータ:
conn - Connection 登録用コネクション

InitFileLoader

public InitFileLoader(java.sql.Connection conn,
                      java.lang.String classPath)
コネクションと検索パスを指定して構築する、コンストラクターです。 対象ファイルは、classPath で指定された場所を、クラスローダーで検索します。 ここで見つかったパス以下の XMLファイル(拡張子は小文字で、.xml )を検索 します。このファイル名は テーブル名.xml 形式で格納しておきます。

パラメータ:
conn - Connection 登録用コネクション
classPath - 対象となるファイル群を検索する、クラスパス
メソッドの詳細

setFileCommit

public void setFileCommit(boolean fileCmt)
ファイル毎にコミット処理を行うかどうか指定します(初期値:false[行わない])。 対象ファイル毎に、データベースへの登録を完了(commit)するかどうかを指定します。 通常、Connection は、autoCommit を false に設定し、1件ごとの処理は行いません。 さらに、XMLファイルにも相互関連がある場合があるため、複数ファイルを取り込む場合は、 それらを一群として処理したいケースもあります。また、各ファイルが独立している 場合は、他のファイル取り込み時にエラーが発生しても、それまでの分は、取り込みたい ケースがあります。 ここでは、ファイル毎にコミットを発行するかどうかを指定できます。 初期値は、false[行わない]です。 ※ true に設定した場合でも、途中でエラーが発生した場合は、それ以降の処理は、 継続しません。それ以前の処理が、登録されているだけです。

パラメータ:
fileCmt - ファイル毎にコミット処理を行うかどうか(true:行う/false:行わない)

loadInitFiles

public void loadInitFiles(boolean useTimeStamp)
対象となるファイル群を検索します。 対象ファイルは、resource フォルダに テーブル名.xml 形式で格納しておきます。 このフォルダのファイルをピックアップします。 useTimeStamp 属性を true に設定すると、このファイルのタイムスタンプを、 システムパラメータ定義(GE12) にセットします。それ以降、このタイムスタンプと ファイルを比較して、変更がなければ、登録処理を行いません。

パラメータ:
useTimeStamp - タイムスタンプの管理を行うかどうか(true:行う/false:行わない)
変更履歴:
4.0.0.0 (2007/11/28) メソッドの戻り値をチェックします。
5.3.6.0 (2011/06/01) 実フォルダの場合、フォルダ階層を下る処理を追加

openGion 5.5.0.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.