jp.ne.mki.wedge.run.db.dc
クラス SqlDataControl

java.lang.Object
  上位を拡張 jp.ne.mki.wedge.run.db.control.dc.DataControl
      上位を拡張 jp.ne.mki.wedge.run.db.dc.SqlDataControl
すべての実装されたインタフェース:
jp.ne.mki.wedge.run.db.control.dc.DC

public abstract class SqlDataControl
extends jp.ne.mki.wedge.run.db.control.dc.DataControl

DC 基本クラスに共通して必要なユーティリティ機能を提供し、SQL 実行における前処理、後処理を実行します。 このクラスを継承し、executeSql(DcRequest req) メソッドを実装してください。


フィールドの概要
 
クラス jp.ne.mki.wedge.run.db.control.dc.DataControl から継承されたフィールド
bProfileMode, conf, databaseMain, dataConvertClassTable, dataConvertPackages, ec, listClass, listConstructorParamInitSize, ls, testLogMode
 
コンストラクタの概要
SqlDataControl()
           
 
メソッドの概要
 java.util.List execute(jp.ne.mki.wedge.run.data.ControlRecord ctlRec, java.util.List inRec, java.lang.String sql)
          使用中 DB コネクション一覧から DB コネクションを取得し、実行中ステータスをセットしてから、DC 基本クラスを呼び出します。
protected abstract  DataInterface[] executeSql(DcRequest req)
          DC 基本クラスの処理を実装します。
protected  DBDataConvertInterface getConvertClass(java.lang.String className)
          指定されたクラス名(パッケージ名を含まない)に相当するデータ変換クラスを返します。
protected  int getIdataRowCount(java.util.List inRec)
          入力レコードとして渡されたアイテムの行数をカウントして返します。
 java.lang.String getSql(DcRequest req)
          標準の SQL Mapper 基本クラス側で任意の SQL に切り替えれるよう、 SQL 取得処理を別メソッドに分離。
 void init(jp.ne.mki.wedge.run.db.control.XM_DatabaseMain main, jp.ne.mki.wedge.run.library.WedgeLog2RunServer log, jp.ne.mki.wedge.run.db.main.RunDBServerConf dbConf)
          初期設定処理を行います。
protected  void setQueryTimeout(java.sql.Statement statement)
          Statementに対し、コンフィグに規定されたタイムアウト時間を設定します。
 
クラス jp.ne.mki.wedge.run.db.control.dc.DataControl から継承されたメソッド
clearApplicationThreadMap, clearSystemThreadMap, createOutputDataArray, erorrLog, errorLog, errorLog, errorLog, errorLog, getApplicationThreadMap, getDatabase, getIdatasRows, getLogger, getManager, getSystemThreadMap, idataArrayToList, informationLog, informationLog, informationLog, informationLog, init, profileLog, setSQLExceptionControlRecord, severSubTraceLogAsync, traceLog, warningLog, warningLog, warningLog, warningLog
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

SqlDataControl

public SqlDataControl()
メソッドの詳細

init

public final void init(jp.ne.mki.wedge.run.db.control.XM_DatabaseMain main,
                       jp.ne.mki.wedge.run.library.WedgeLog2RunServer log,
                       jp.ne.mki.wedge.run.db.main.RunDBServerConf dbConf)
                throws java.lang.SecurityException,
                       java.lang.NoSuchMethodException,
                       java.lang.ClassNotFoundException,
                       java.lang.InstantiationException,
                       java.lang.IllegalAccessException
クラス jp.ne.mki.wedge.run.db.control.dc.DataControl の記述:
初期設定処理を行います。 ログクラス、コンフィグレーションクラスへの参照等を取得し、保持します。

オーバーライド:
クラス jp.ne.mki.wedge.run.db.control.dc.DataControl 内の init
例外:
java.lang.SecurityException
java.lang.NoSuchMethodException
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException

execute

public java.util.List execute(jp.ne.mki.wedge.run.data.ControlRecord ctlRec,
                              java.util.List inRec,
                              java.lang.String sql)
                       throws jp.ne.mki.wedge.run.db.control.dc.DcException,
                              java.sql.SQLException,
                              java.lang.IllegalArgumentException,
                              java.lang.InstantiationException,
                              java.lang.IllegalAccessException,
                              java.lang.reflect.InvocationTargetException,
                              java.text.ParseException,
                              java.io.IOException
使用中 DB コネクション一覧から DB コネクションを取得し、実行中ステータスをセットしてから、DC 基本クラスを呼び出します。 DC 基本クラス実行後は、実行中ステータスをクリアします。 実行中ステータスは、一定時間使われていない DB コネクションをコネクションプールに返却する処理のチェックに使われます。

例外:
jp.ne.mki.wedge.run.db.control.dc.DcException
java.sql.SQLException
java.lang.IllegalArgumentException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.text.ParseException
java.io.IOException
関連項目:
DC.execute(jp.ne.mki.wedge.run.data.ControlRecord, java.util.List, java.lang.String)

getSql

public java.lang.String getSql(DcRequest req)
標準の SQL Mapper 基本クラス側で任意の SQL に切り替えれるよう、 SQL 取得処理を別メソッドに分離。標準 SQL Mapper クラス(Query, Update, Call)も このメソッドを呼び出すように切り替えています。

パラメータ:
req -
戻り値:
導入されたバージョン:
1.3.0

getIdataRowCount

protected int getIdataRowCount(java.util.List inRec)
入力レコードとして渡されたアイテムの行数をカウントして返します。 アイテムの行数が一致していない場合、例外がスローされます。
アイテムの行数が一致していなくても処理を続行させる必要がある場合は、 継承先の DC 基本クラスでこのメソッドをオーバライドしてください。
このメソッドが返した値(行数)は DcRequest.getRows() メソッドで取得することができます。

パラメータ:
inRec - 入力レコード
戻り値:
入力アイテムの行数

executeSql

protected abstract DataInterface[] executeSql(DcRequest req)
                                       throws jp.ne.mki.wedge.run.db.control.dc.DcException,
                                              java.sql.SQLException,
                                              java.lang.IllegalArgumentException,
                                              java.lang.InstantiationException,
                                              java.lang.IllegalAccessException,
                                              java.lang.reflect.InvocationTargetException,
                                              java.text.ParseException,
                                              java.io.IOException
DC 基本クラスの処理を実装します。

パラメータ:
database - Connection を管理する DB アクセスオブジェクト
sql - 実行 SQL
ctlRec - コントロールレコード
inRec - 入力レコード
戻り値:
実行結果の出力レコード(主に検索結果)
例外:
jp.ne.mki.wedge.run.db.control.dc.DcException
java.sql.SQLException
java.lang.IllegalArgumentException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.text.ParseException
java.io.IOException

getConvertClass

protected DBDataConvertInterface getConvertClass(java.lang.String className)
指定されたクラス名(パッケージ名を含まない)に相当するデータ変換クラスを返します。

戻り値:
データ変換クラス

setQueryTimeout

protected void setQueryTimeout(java.sql.Statement statement)
                        throws java.sql.SQLException
Statementに対し、コンフィグに規定されたタイムアウト時間を設定します。 コンフィグに指定された QueryTimeoutの挙動のみを変更したい場合は、このメソッドをオーバライドしてください。 デフォルトではコンフィグに規定されたQueryTimeoutの時間を設定します。 コンフィグに指定されていない場合(もしくは コンフィグの値が-1であった場合)は、Statement#setQueryTimeout() のメソッドをコールしません。

パラメータ:
statement -
req -
例外:
java.sql.SQLException