public final class XMLFileLoader extends Object
ORACLE XDK 形式のXMLファイルを読み取って、データベースに登録します。
これは、Ver5の時は、org.opengion.hayabusa.common.InitFileLoader として
使用されていたクラスを改造したものです。
InitFileLoader は、Ver6 では廃止されていますので、ご注意ください。
登録の実行有無の判断は、ファイルの更新時刻より判断します。(useTimeStamp=true の場合)
これは、読み取りファイルの更新時刻が、0でない場合、読み取りを行います。
読み取りが完了した場合は、更新時刻を 0 に設定します。
読み取るファイルは、クラスローダーのリソースや、指定のフォルダ以下のファイル、そして、
zip 圧縮されたファイルの中から、拡張子が 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.0 (2004/12/31) 新規作成(org.opengion.hayabusa.common.InitFileLoader) |
6.0.0.0 (2014/04/11) パッケージ、クラスファイル変更 |
修飾子とタイプ | フィールドと説明 |
---|---|
static int |
DDL |
static int |
DEL |
static int |
INS
getCRUDCount() で返される カウント数の配列番号
|
static int |
UPD |
コンストラクタと説明 |
---|
XMLFileLoader(Connection conn,
boolean useTimeStamp)
コネクションを引数にする、コンストラクターです。
|
修飾子とタイプ | メソッドと説明 |
---|---|
int[] |
getCRUDCount()
XMLファイルを登録後の、追加,更新,削除,実行 のカウント配列を返します。
|
void |
loadClassPathFiles(String path)
対象となるファイル群を ClassLoader の指定パスから、検索します。
|
void |
loadXMLFiles(File fileObj)
対象となるファイル群を ファイル単体、フォルダ階層以下、ZIPファイル から、検索します。
|
void |
setAfterMap(Map map)
XMLファイルを読み取った後で指定するカラムと値のペア(マップ)情報をセットします。
|
void |
setLogWriter(Writer log)
ログ出力を行う 内部ログ(Writer) を指定します。
|
public static final int INS
public static final int DEL
public static final int UPD
public static final int DDL
public XMLFileLoader(Connection conn, boolean useTimeStamp)
conn
- 登録用コネクションuseTimeStamp
- タイムスタンプの管理を行うかどうか[true:行う/false:行わない]public void setLogWriter(Writer log)
log
- Writerオブジェクト6.0.0.0 (2014/04/11) ログ関係を Writer で管理します。 |
public void setAfterMap(Map map)
map
- 後設定するカラムデータマップ6.0.0.0 (2014/04/11) 新規追加 |
public int[] getCRUDCount()
6.0.0.0 (2014/04/11) 新規追加 |
public void loadClassPathFiles(String path)
path
- 対象となるファイル群を検索する、クラスパス6.0.0.0 (2014/04/11) 新規追加 |
6.4.0.4 (2015/12/26) Writer(ログ)のCloseは、ここでは行わない。 |
public void loadXMLFiles(File fileObj)
fileObj
- 読取元のファイルオブジェクトloadClassPathFiles( String )
6.0.0.0 (2014/04/11) 新規追加 |
6.4.0.4 (2015/12/26) Writer(ログ)のCloseは、ここでは行わない。 |
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.