- すべての実装されたインタフェース:
Query
public class Query_JDBCTableMerge
extends AbstractQuery
引数引き当て(PreparedStatement) を利用した登録系Queryです。
java.sql.PreparedStatement を用いて、データベース登録処理を行います。
引数の指定方法は、DBTableModele のカラム名に対応する名称を、SQL文の[カラム名]形式で
記述します。これを解析して、実際に実行する PreparedStatement に対応する文字列を
作成します。
たとえば、INSERT INTO GEXX (CLM,NAME_JA,LABEL_NAME) VALUES ([CLM],[NAME_JA],[LABEL_NAME] )
と記述すれば、内部で、DBTableModele のカラム名に対応する値を取り出し、SQL文として、
INSERT INTO GEXX (CLM,NAME_JA,LABEL_NAME) VALUES (?,?,? ) を実行します。
Query_JDBCTableUpdate との違いは、INSERT文とUPDATE文を渡しておき、
UPDATEの処理結果が、0件の場合は、INSERTを行います。
そのため、tableUpdateタグのBODY部に直接SQLを書くのではなく、tableUpdateParam タグを2個書くことになります。
基本的に、tableUpdateタグのqueryTypeにJDBCTableUpdateと記述しておき、tableUpdateParam の
sqlType が MERGE の場合は、2種類のSQL文が作成され、自動的に、JDBCTableMerge が呼ばれます。
※ つまり、通常は、queryType="JDBCTableUpdate" のままで、sqlType="MERGE" を指定すればよい。
- 変更履歴:
- 7.2.9.1 (2020/10/23) 新規作成
- 機能分類
- データ編集
- 形式サンプル:
- ●使用例
・JDBCTableUpdate のまま、sqlType="MERGE" を指定する場合。
【entry.jsp】
<og:tableUpdate
command = "{@command}"
queryType = "JDBCTableUpdate"
<og:tableUpdateParam
sqlType = "MERGE" // INSERT or UPDATE
table = "{@TABLE_NAME}" // 処理対象のテーブル名
names = "{@names}" // 処理対象のカラム名
omitNames = "{@omitNames}" // 処理対象外のカラム名
where = "{@where}" // 処理対象を特定するキー(INSERT時には使われず、UPDAET時に使われる。)
constKeys = "{@constKeys}" // 処理カラム名の中の固定情報カラム名
constVals = "{@constVals}" // 処理カラム名の中の固定情報設定値
/>
</og:tableUpdate>
・JDBCTableMerge を直接的に指定する場合。
【entry.jsp】
<og:tableUpdate
command = "{@command}"
queryType = "JDBCTableMerge"
<og:tableUpdateParam
sqlType = "INSERT" // INSERT or UPDATE
table = "{@TABLE_NAME}" // 処理対象のテーブル名
names = "{@names}" // 処理対象のカラム名
omitNames = "{@omitNames}" // 処理対象外のカラム名
constKeys = "{@constKeys}" // 処理カラム名の中の固定情報カラム名
constVals = "{@constVals}" // 処理カラム名の中の固定情報設定値
/>
<og:tableUpdateParam
sqlType = "UPDATE" // INSERT or UPDATE
table = "{@TABLE_NAME}" // 処理対象のテーブル名
names = "{@names}" // 処理対象のカラム名
omitNames = "{@omitNames}" // 処理対象外のカラム名
where = "{@where}" // 処理対象を特定するキー
constKeys = "{@constKeys}" // 処理カラム名の中の固定情報カラム名
constVals = "{@constVals}" // 処理カラム名の中の固定情報設定値
/>
</og:tableUpdate>
- バージョン
- 7.2
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK11.0,