public class Query_JDBCPrepared extends AbstractQuery
引数引き当て(PreparedStatement) を利用した登録系Queryです。 java.sql.PreparedStatement を用いて、データベース検索処理を行います。 引数に、指定した値を配列で渡します。 内部変数の受け渡しのデフォルト実装は、AbstractQuery クラスを継承している ため,ここでは、execute() メソッドを実装しています。 このクラスでは、ステートメント文を execute() する事により,データベースを 検索した結果を DBTableModel に割り当てます。 このクラスは、Query で使用されるより、内部の DBTableModelUtilから、 利用されるケースが主です。 Query で使用する場合は、JDBCPrepared ではなく、JDBCTableUpdate を 使用することを、ご検討ください。
例:
可変引数付きのSQL文を実行します。
これは、INSERT,UPDATE,DELETE など、どのようなSQL文でも実行できます。
names 属性で指定するのは、DBTableModelのカラム名で、その値が順番に、
引数(?記号)の個所に設定されます。
選択されたデータ(行)の数だけ、繰り返し実行されます。
jsp/TYPE1A/copy.jsp
<og:value scope="session"
key="names"
value="CLM,NAME_JA,LABEL_NAME,KBSAKU,SYSTEM_ID,LANG" />
<og:value scope="session" key="SQL" >
INSERT INTO GEA08
(CLM,NAME_JA,LABEL_NAME,KBSAKU,SYSTEM_ID,LANG,
FGJ,DYSET,DYUPD,USRSET,USRUPD,PGUPD)
VALUES
(?,?,?,?,?,?,
'1','{@USER.YMDH}','{@USER.YMDH}','{@USER.ID}','{@USER.ID}','{@GUI.KEY}')
</og:value>
jsp/TYPE1A/entry.jsp
<h:tableUpdate
command = "{@command}"
queryType = "JDBCPrepared"
names = "{@names}" >
{@SQL}
</og:tableUpdate>
<!-- 前画面で指定のSQL文を削除します。(scope="session"なので削除が必要。) -->
<og:value scope="session" key="names" command="REMOVE" />
<og:value scope="session" key="SQL" command="REMOVE" />ARG_ARRAY, BUFFER_MIDDLE, CR, DB_MAX_QUERY_TIMEOUT, ERR_MSG, ERR_MSG_ARRAY, SYSARG_ARRAY| コンストラクタと説明 |
|---|
Query_JDBCPrepared()
デフォルトコンストラクター
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
void |
execute(java.lang.String[] args)
引数配列付のクエリーを実行します。
|
createTableModel, execute, execute, execute, getConnection, getDBTableModel, getEditConfig, getErrorCode, getErrorMessage, getExecuteCount, getMaxRowCount, getSkipRowCount, getStatement, isUpdate, setConnection, setDBTableModel, setEditConfig, setErrorCode, setErrorMessage, setExecuteCount, setMaxRowCount, setResourceManager, setSkipRowCount, setStatement, setUpdateFlag, toString, useParameterMetaDatapublic Query_JDBCPrepared()
| 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. |
public void execute(java.lang.String[] args)
execute インタフェース内 Queryexecute クラス内 AbstractQueryargs - オブジェクトの引数配列(可変長引数)| 2.1.2.3 (2002/12/02) データベース更新時に、更新フラグをセットするように変更 |
| 2.3.1.3 (2003/01/28) Open Cursor が、大量に残る件の対応。ResultSet を close() |
| 3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。 |
| 3.3.3.1 (2003/07/18) DB登録時の後ろスペースを削除する。 |
| 3.5.6.0 (2004/06/18) PreparedStatement をexecute 間で使いまわします。 |
| 3.8.0.8 (2005/10/03) エラーメッセージの出力順をメッセージ+Queryに変更します。 |
| 5.3.8.0 (2011/08/01) pstmt.setObject で、useParamMetaData の判定を避けるため、pstmt.setString で代用(PostgreSQL対応) |
| 6.3.6.1 (2015/08/28) close(),realClose() 廃止。Queryはキャッシュしません。 |
| 6.4.2.1 (2016/02/05) try-with-resources 文で記述。 |
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.