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 String |
CR
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 String CR
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) 新規追加 |
public void loadXMLFiles(File fileObj)
fileObj
- 読取元のファイルオブジェクトloadClassPathFiles( String )
6.0.0.0 (2014/04/11) 新規追加 |
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.