クラス DirectTableInsertTag

  • すべての実装されたインタフェース:
    Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, javax.servlet.jsp.tagext.TryCatchFinally

    public class DirectTableInsertTag
    extends ReadTableTag
    指定のファイルを直接データベースに登録するデータ入力タグです。 通常の readTable などは、DBTableModelオブジェクトを介して全件メモリに ロードしてから表示させる為、大量データ処理ができません。 このタグでは、直接ファイルを読み取りながらデータベース登録するので 大量データをバッチ的に登録する場合に使用します。 読み取るファイルは、先頭(または実データが現れるまでに) #NAME 行が必要です。 これは、ファイルデータのカラム名を指定しています。また、columns 属性を使用すれば、 ファイルの#NAME 行より優先して(つまり存在していなくても良い)データのカラム名を 指定することが出来ます。 この#NAME 行は、ファイルのセパレータと無関係に必ずタブ区切りで用意されています。 タグのBODY部に、実行するSQL文を記述します。 このSQL文は、 INSERT INTO GE41 (CLM,NAME_JA,SYSTEM_ID,FGJ,DYSET) VALUES ([CLM],[NAME_JA],[SYSTEM_ID],'1','{@USER.YMDH}') と、いう感じで、ファイルから読み込んだ値は、[カラム名]に割り当てられます。 もちろん、通常の固定値(FGJに'1'をセット)や、リクエスト変数(DYSETの{@USER.YMDH}) なども使用できます。 ※ 6.2.3.0 (2015/05/01) BODY部にSQL文を記述しない場合は、table 属性に、INSERTするテーブルIDを指定します。 ※ 6.2.4.0 (2015/05/15) omitNames に、WRITABLE と ROWID を、強制的に含めます(無条件)。 ※ 7.3.1.3 (2021/03/09) DB.NAMES , DB.ORGNAMES #NAME や columns で指定したカラムは、{@DB.NAMES} で取り出すことが可能です。 ファイルにかかれた、オリジナルの #NAME は、{@DB.ORGNAMES} で取り出すことが可能です。 ※ このタグは、Transaction タグの対象です。
    関連項目:
    直列化された形式
    導入されたバージョン:
    JDK5.0,
    • コンストラクタの詳細

    • メソッドの詳細

      • doStartTag

        public int doStartTag()
        Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
        定義:
        doStartTag インタフェース内 javax.servlet.jsp.tagext.Tag
        オーバーライド:
        doStartTag クラス内 CommonTagSupport
        戻り値:
        後続処理の指示( EVAL_BODY_BUFFERED )
      • doAfterBody

        public int doAfterBody()
        Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
        定義:
        doAfterBody インタフェース内 javax.servlet.jsp.tagext.IterationTag
        オーバーライド:
        doAfterBody クラス内 CommonTagSupport
        戻り値:
        後続処理の指示(SKIP_BODY)
      • afterEnd

        protected int afterEnd()
        #doEndTag() の後続処理を記述します。 これは、サブクラスで、DBTableModel以外の処理を行う場合に、 処理内容を分けるために用意します。
        オーバーライド:
        afterEnd クラス内 ReadTableTag
        戻り値:
        後続処理の指示
      • release2

        protected void release2()
        タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
        オーバーライド:
        release2 クラス内 ReadTableTag
      • create

        protected void create​(File file)
        ファイルオブジェクト より読み込み、データベースに書き込みます。
        オーバーライド:
        create クラス内 ReadTableTag
        パラメータ:
        file - ファイルオブジェクト
      • setDbid

        public void setDbid​(String id)
        【TAG】(通常は使いません)検索時のDB接続IDを指定します(初期値:DEFAULT)。
        パラメータ:
        id - データベース接続ID
      • setCommitBatch

        public void setCommitBatch​(String cmtBat)
        【TAG】指定数毎にコミットを発行します(初期値:0 終了までコミットしません)。
        パラメータ:
        cmtBat - コミットを発行する行数 (初期値:0)
      • setTable

        public void setTable​(String tbl)
        【TAG】BODYのSQL文を指定しない場合に使用するテーブルIDを指定します。
        パラメータ:
        tbl - テーブルID
      • setUseTimeView

        public void setUseTimeView​(String flag)
        【TAG】処理時間を表示する TimeView を表示するかどうか[true:する/false:しない]を指定します (初期値:VIEW_USE_TIMEBAR[=])。
        パラメータ:
        flag - 処理時間を表示 [true:する/false:しない]
      • toString

        public String toString()
        このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
        オーバーライド:
        toString クラス内 ReadTableTag
        戻り値:
        このクラスの文字列表現