クラス Query_JDBCTableMerge
- java.lang.Object
-
- org.opengion.hayabusa.db.AbstractQuery
-
- org.opengion.plugin.query.Query_JDBCTableMerge
-
- すべての実装されたインタフェース:
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" を指定すればよい。- 導入されたバージョン:
- JDK11.0,
-
-
フィールドの概要
-
クラスから継承されたフィールド org.opengion.hayabusa.db.AbstractQuery
ARG_ARRAY, BUFFER_MIDDLE, CR, DB_FETCH_SIZE, DB_MAX_QUERY_TIMEOUT, ERR_MSG, ERR_MSG_ARRAY, SYSARG_ARRAY
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 Query_JDBCTableMerge()
デフォルトコンストラクター
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 void
execute(int[] rowNo, DBTableModel table)
引数配列付のクエリーを実行します。-
クラスから継承されたメソッド org.opengion.hayabusa.db.AbstractQuery
createTableModel, execute, execute, execute, getConnection, getDBTableModel, getEditConfig, getErrorCode, getErrorMessage, getExecuteCount, getMaxRowCount, getMergeStatement, getSkipRowCount, getStatement, isUpdate, setConnection, setDBTableModel, setEditConfig, setErrorCode, setErrorMessage, setExecuteCount, setMaxRowCount, setMergeStatement, setResourceManager, setSkipRowCount, setStatement, setUpdateFlag, toString, useParameterMetaData
-
-
-
-
コンストラクタの詳細
-
Query_JDBCTableMerge
public Query_JDBCTableMerge()
デフォルトコンストラクター
-
-
メソッドの詳細
-
execute
public void execute(int[] rowNo, DBTableModel table)
引数配列付のクエリーを実行します。 処理自体は, #execute() と同様に、各サブクラスの実装に依存します。 これは、PreparedQuery で使用する引数を配列でセットするものです。 select * from emp where deptno = ? and job = ? などの PreparedQuery の [カラム名] 部分の引数を、DBTableModelから順番にセットしていきます。- 定義:
execute
インタフェース内Query
- オーバーライド:
execute
クラス内AbstractQuery
- パラメータ:
rowNo
- 選択された行番号配列(登録する対象行)table
- DBTableModelオブジェクト(登録する元データ)
-
-