クラス TableFilter_DBSELECT
java.lang.Object
org.opengion.hayabusa.db.AbstractTableFilter
org.opengion.plugin.table.TableFilter_DBSELECT
- すべての実装されたインタフェース:
TableFilter
TableFilter_DBSELECT は、TableFilter インターフェースを継承した、DBTableModel 処理用の
実装クラスです。
ここでは、Body部にかかれたSQLを実行した結果を、テーブルモデルにセットします。
SQL文から取得されるカラム名とテーブルモデルのカラム名は一致している必要があります。
検索結果のカラムがテーブルモデルに存在していない場合はエラーとなります。
以下の属性を指定しないと、データが存在しない場合はNULLがセットされます。
また、2行以上検索された場合でも、1行目のデータのみをセットします。
パラメータは、tableFilterタグの keys, vals にそれぞれ記述するか、BODY 部にCSS形式で記述します。
ただし、このフィルターは、BODY部に、SQL文も記述する為、注意が必要です。
ルール的には、一番最初に見つけた "{" と、"}" の間の文字列がパラメータと認識します。
よって、SQL文を記述する場合は、このパラメータの後ろに記述するか、keys,vals を利用ください。
【パラメータ】
{
INNER_JOIN : データが存在しない場合、テーブルの該当行を削除します。(初期値:false)
APPEND : 2行以上検索された場合、データをアペンドします。 (初期値:false)
SEPARATOR : APPENDする場合の区切り文字を指定します。 (初期値:" "スペース)
}
Body部にかかれたSQLには[XXXX]形式の変数が指定できます。
- 変更履歴:
- 5.6.6.0 (2013/07/05) keys の整合性チェックを追加
- 形式サンプル:
- ●形式: ① <og:tableFilter classId="DBSELECT" > </og:tableFilter> ② <og:tableFilter classId="DBSELECT" > { INNER_JOIN : true ; } select AAA,BBB,CCC from XXX </og:tableFilter>
- 導入されたバージョン:
- JDK1.1,
-
フィールドの概要
クラスから継承されたフィールド org.opengion.hayabusa.db.AbstractTableFilter
BUFFER_MIDDLE, CR, EXEC_END_TAG, EXEC_START_TAG, execEndTag, isXml, XML_END_TAG, XML_START_TAG
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
クラスから継承されたメソッド org.opengion.hayabusa.db.AbstractTableFilter
getDbid, getDBTableModel, getErrorCode, getErrorMessage, getKeys, getModifyType, getParameterRows, getResource, getReturnMap, getSql, getTableColumnNo, getTransaction, getValue, getViewMarker, initSet, isDebug, makeErrorMessage, setDbid, setDBTableModel, setDebug, setKeysVals, setModifyType, setParameterRows, setParamMap, setResource, setSql, setTransaction, setValue, setViewMarker
-
コンストラクタの詳細
-
TableFilter_DBSELECT
public TableFilter_DBSELECT()デフォルトコンストラクター- 変更履歴:
- 6.4.1.1 (2016/01/16) keysMap を、サブクラスから設定させるように変更。
-
-
メソッドの詳細
-
execute
DBTableModel処理を実行します。- 戻り値:
- 処理結果のDBTableModel
- 変更履歴:
- 4.3.7.0 (2009/06/01) 実装大幅変更, 5.1.9.0 (2010/08/01) Transaction 対応, 5.5.2.6 (2012/05/25) protected変数を、private化したため、getterメソッドで取得するように変更, 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs), 6.4.3.4 (2016/03/11) Formatterに新しいコンストラクターを追加する。, 6.5.0.1 (2016/10/21) ErrorMessage をまとめるのと、直接 Throwable を渡します。
-