クラス DirectTableInsertTag
- java.lang.Object
-
- javax.servlet.jsp.tagext.TagSupport
-
- javax.servlet.jsp.tagext.BodyTagSupport
-
- org.opengion.hayabusa.taglib.CommonTagSupport
-
- org.opengion.hayabusa.taglib.ReadTableTag
-
- org.opengion.hayabusa.taglib.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,
-
-
ネストされたクラスの概要
-
クラスから継承されたネストされたクラス/インタフェース org.opengion.hayabusa.taglib.ReadTableTag
ReadTableTag.ColumnAction, ReadTableTag.RepeatDataChenge
-
-
フィールドの概要
-
クラスから継承されたフィールド org.opengion.hayabusa.taglib.ReadTableTag
clmAct, CMD_NEW, CMD_RENEW, columns, displayMsg, encode, executeCount, maxRowCount, nullBreakClm, nullSkipClm, readerClass, separator, sheetConstAdrs, sheetConstKeys, sheetName, sheetNos, skipRowCount, sqlError, stopZero, useNumber, useSLabel
-
クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport
BR, BUFFER_MIDDLE, CR
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 DirectTableInsertTag()
デフォルトコンストラクター
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 protected int
afterEnd()
#doEndTag() の後続処理を記述します。protected void
create(File file)
ファイルオブジェクト より読み込み、データベースに書き込みます。int
doAfterBody()
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。int
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。protected void
release2()
タグリブオブジェクトをリリースします。void
setCommitBatch(String cmtBat)
【TAG】指定数毎にコミットを発行します(初期値:0 終了までコミットしません)。void
setDbid(String id)
【TAG】(通常は使いません)検索時のDB接続IDを指定します(初期値:DEFAULT)。void
setTable(String tbl)
【TAG】BODYのSQL文を指定しない場合に使用するテーブルIDを指定します。void
setUseTimeView(String flag)
【TAG】処理時間を表示する TimeView を表示するかどうか[true:する/false:しない]を指定します (初期値:VIEW_USE_TIMEBAR[=])。String
toString()
このオブジェクトの文字列表現を返します。-
クラスから継承されたメソッド org.opengion.hayabusa.taglib.ReadTableTag
addOmitNames, doEndTag, setAdjustColumns, setCheckColumns, setColumns, setCommand, setDisplayMsg, setEncode, setErrRowCount, setFilename, setFileURL, setMainTrans, setMatchKeys, setMatchVals, setMaxRowCount, setModifyType, setNotfoundMsg, setNullBreakClm, setNullCheck, setNullSkipClm, setOmitNames, setOverflowMsg, setReaderClass, setSeparator, setSheetConstAdrs, setSheetConstKeys, setSheetName, setSheetNos, setSkipRowCount, setStopZero, setTableId, setUseNumber, setUseRenderer, setUseRepeatClms, setUseSLabel, setUseStrict
-
クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsg, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, makeUrl, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseIf, setCaseKey, setCaseNN, setCaseNull, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheck
-
クラスから継承されたメソッド javax.servlet.jsp.tagext.BodyTagSupport
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
-
クラスから継承されたメソッド javax.servlet.jsp.tagext.TagSupport
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
-
-
-
-
コンストラクタの詳細
-
DirectTableInsertTag
public DirectTableInsertTag()
デフォルトコンストラクター
-
-
メソッドの詳細
-
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
- 戻り値:
- このクラスの文字列表現
-
-