org.seasar.extension.jdbc.query
クラス AbstractQuery<S extends Query<S>>

java.lang.Object
  上位を拡張 org.seasar.extension.jdbc.query.AbstractQuery<S>
型パラメータ:
S - Queryのサブタイプです。
すべての実装されたインタフェース:
Query<S>, SqlLogger
直系の既知のサブクラス:
AbstractAutoBatchUpdate, AbstractAutoUpdate, AbstractModuleCall, AbstractSelect, SqlBatchUpdateImpl, SqlFileBatchUpdateImpl, SqlFileUpdateImpl, SqlUpdateImpl

public abstract class AbstractQuery<S extends Query<S>>
extends java.lang.Object
implements Query<S>, SqlLogger

クエリの抽象クラスです。

作成者:
higa

フィールドの概要
protected  java.lang.Class<?> callerClass
          クエリを呼び出すクラスです。
protected  java.lang.String callerMethodName
          クエリを呼び出すメソッド名です。
protected  boolean completed
          Queryが完了している場合にtrueです。
protected  java.lang.String executedSql
          実行されるSQL
protected  JdbcManagerImplementor jdbcManager
          内部的なJDBCマネージャです。
protected  Logger logger
          ログを出力するオブジェクトです。
protected  java.util.List<Param> paramList
          パラメータのリストです。
protected  int queryTimeout
          クエリタイムアウトの秒数です。
 
コンストラクタの概要
AbstractQuery(JdbcManagerImplementor jdbcManager)
          AbstractQueryを作成します。
 
メソッドの概要
protected  Param addParam(java.lang.Object value)
          パラメータを追加します。
protected  Param addParam(java.lang.Object value, java.lang.Class<?> paramClass)
          パラメータを追加します。
protected  Param addParam(java.lang.Object value, java.lang.Class<?> paramClass, ValueType valueType)
          パラメータを追加します。
protected  Param addParam(java.lang.Object value, PropertyMeta propertyMeta)
          パラメータを追加します。
protected  void assertNotCompleted(java.lang.String methodName)
          このQueryが完了していないことをチェックします。
 S callerClass(java.lang.Class<?> callerClass)
          検索を呼び出すクラスを設定します。
 S callerMethodName(java.lang.String callerMethodName)
          検索を呼び出すメソッド名を設定します。
protected  void completed()
          このQueryが完了しました。
 java.lang.Class<?> getCallerClass()
          クエリを呼び出すクラスを返します。
 java.lang.String getCallerMethodName()
          クエリを呼び出すメソッド名を返します。
 java.lang.String getExecutedSql()
          実行されるSQLを返します。
 JdbcManagerImplementor getJdbcManager()
          内部的なJDBCマネージャを返します。
protected  Param getParam(int index)
          パラメータを返します。
 java.lang.Class<?>[] getParamClasses()
          パラメータの値のクラスの配列を返します。
protected  int getParamSize()
          パラメータの数を返します。
 java.lang.Object[] getParamValues()
          パラメータの値の配列を返します。
 ValueType[] getParamValueTypes()
          パラメータの値型の配列を返します。
 int getQueryTimeout()
          クエリタイムアウトを返します。
protected  ValueType getValueType(java.lang.Class<?> paramClass, boolean lob, TemporalType temporalType)
          値タイプを返します。
protected  java.lang.Object handleResultSet(ResultSetHandler handler, java.sql.ResultSet rs)
          結果セットを処理します。
protected  void logSql()
          SQLをログに出力します。
 void logSql(java.lang.String sql, java.lang.Object... vars)
          SQL文をログ出力します。
protected abstract  void prepare(java.lang.String methodName)
          クエリの準備をします。
protected  void prepareCallerClassAndMethodName(java.lang.String methodName)
          検索を呼び出すクラスとメソッド名を準備します。
protected  void prepareInParams(java.sql.PreparedStatement ps)
          INパラメータの準備をします。
 S queryTimeout(int queryTimeout)
          クエリタイムアウトの秒数を設定します。
protected  void resetParams()
          パラメータをリセットします。
protected  java.lang.String[] toStringArray(java.lang.CharSequence... names)
          CharSequenceの配列をStringの配列に変換して返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

jdbcManager

protected JdbcManagerImplementor jdbcManager
内部的なJDBCマネージャです。


callerClass

protected java.lang.Class<?> callerClass
クエリを呼び出すクラスです。


callerMethodName

protected java.lang.String callerMethodName
クエリを呼び出すメソッド名です。


queryTimeout

protected int queryTimeout
クエリタイムアウトの秒数です。


logger

protected Logger logger
ログを出力するオブジェクトです。


executedSql

protected java.lang.String executedSql
実行されるSQL


paramList

protected java.util.List<Param> paramList
パラメータのリストです。


completed

protected boolean completed
Queryが完了している場合にtrueです。

コンストラクタの詳細

AbstractQuery

public AbstractQuery(JdbcManagerImplementor jdbcManager)
AbstractQueryを作成します。

パラメータ:
jdbcManager - 内部的なJDBCマネージャ
メソッドの詳細

callerClass

public S callerClass(java.lang.Class<?> callerClass)
インタフェース Query の記述:
検索を呼び出すクラスを設定します。デフォルトは SqlSelectの実装クラスです。

定義:
インタフェース Query<S extends Query<S>> 内の callerClass
パラメータ:
callerClass - 検索を呼び出すクラス
戻り値:
このインスタンス自身

callerMethodName

public S callerMethodName(java.lang.String callerMethodName)
インタフェース Query の記述:
検索を呼び出すメソッド名を設定します。デフォルトはgetResultListあるいはgetSingleResultになります。

定義:
インタフェース Query<S extends Query<S>> 内の callerMethodName
パラメータ:
callerMethodName - 検索を呼び出すメソッド名
戻り値:
このインスタンス自身

queryTimeout

public S queryTimeout(int queryTimeout)
インタフェース Query の記述:
クエリタイムアウトの秒数を設定します。

定義:
インタフェース Query<S extends Query<S>> 内の queryTimeout
パラメータ:
queryTimeout - クエリタイムアウトの秒数
戻り値:
このインスタンス自身

logSql

public void logSql(java.lang.String sql,
                   java.lang.Object... vars)
インタフェース SqlLogger の記述:
SQL文をログ出力します。

定義:
インタフェース SqlLogger 内の logSql
パラメータ:
sql - SQL文
vars - バインド変数の並び

prepare

protected abstract void prepare(java.lang.String methodName)
クエリの準備をします。

パラメータ:
methodName - メソッド名

logSql

protected void logSql()
SQLをログに出力します。


prepareCallerClassAndMethodName

protected void prepareCallerClassAndMethodName(java.lang.String methodName)
検索を呼び出すクラスとメソッド名を準備します。

パラメータ:
methodName - メソッド名

getJdbcManager

public JdbcManagerImplementor getJdbcManager()
内部的なJDBCマネージャを返します。

戻り値:
内部的なJDBCマネージャ

getExecutedSql

public java.lang.String getExecutedSql()
実行されるSQLを返します。

戻り値:
実行されるSQL

getParamValues

public java.lang.Object[] getParamValues()
パラメータの値の配列を返します。

戻り値:
パラメータの値の配列

getParamClasses

public java.lang.Class<?>[] getParamClasses()
パラメータの値のクラスの配列を返します。

戻り値:
パラメータの値のクラスの配列

getParamValueTypes

public ValueType[] getParamValueTypes()
パラメータの値型の配列を返します。

戻り値:
パラメータの値型の配列

getCallerClass

public java.lang.Class<?> getCallerClass()
クエリを呼び出すクラスを返します。

戻り値:
クエリを呼び出すクラス

getCallerMethodName

public java.lang.String getCallerMethodName()
クエリを呼び出すメソッド名を返します。

戻り値:
クエリを呼び出すメソッド名

getQueryTimeout

public int getQueryTimeout()
クエリタイムアウトを返します。

戻り値:
クエリタイムアウト

getParam

protected Param getParam(int index)
パラメータを返します。

パラメータ:
index - インデックス
戻り値:
パラメータ

getParamSize

protected int getParamSize()
パラメータの数を返します。

戻り値:
パラメータの数

addParam

protected Param addParam(java.lang.Object value)
パラメータを追加します。

パラメータ:
value - パラメータの値
戻り値:
パラメータ

addParam

protected Param addParam(java.lang.Object value,
                         PropertyMeta propertyMeta)
パラメータを追加します。

パラメータ:
value - パラメータの値
propertyMeta - プロパティのメタデータ
戻り値:
パラメータ

addParam

protected Param addParam(java.lang.Object value,
                         java.lang.Class<?> paramClass)
パラメータを追加します。

パラメータ:
value - パラメータの値
paramClass - パラメータのクラス
戻り値:
パラメータ

addParam

protected Param addParam(java.lang.Object value,
                         java.lang.Class<?> paramClass,
                         ValueType valueType)
パラメータを追加します。

パラメータ:
value - パラメータの値
paramClass - パラメータのクラス
valueType - 値タイプ
戻り値:
パラメータ

getValueType

protected ValueType getValueType(java.lang.Class<?> paramClass,
                                 boolean lob,
                                 TemporalType temporalType)
値タイプを返します。

パラメータ:
paramClass - パラメータのクラス
lob - LOBかどうか
temporalType - 時制の種別
戻り値:
値タイプ

prepareInParams

protected void prepareInParams(java.sql.PreparedStatement ps)
INパラメータの準備をします。

パラメータ:
ps - 準備されたステートメント

resetParams

protected void resetParams()
パラメータをリセットします。


handleResultSet

protected java.lang.Object handleResultSet(ResultSetHandler handler,
                                           java.sql.ResultSet rs)
                                    throws SQLRuntimeException
結果セットを処理します。

パラメータ:
handler - 結果セットハンドラ
rs - 結果セット
戻り値:
処理結果
例外:
SQLRuntimeException - SQL例外が発生した場合。

toStringArray

protected java.lang.String[] toStringArray(java.lang.CharSequence... names)
CharSequenceの配列をStringの配列に変換して返します。

パラメータ:
names - CharSequenceの配列
戻り値:
Stringの配列

assertNotCompleted

protected void assertNotCompleted(java.lang.String methodName)
このQueryが完了していないことをチェックします。

パラメータ:
methodName - メソッド名

completed

protected void completed()
このQueryが完了しました。



Copyright © 2004-2014 The Seasar Foundation. All Rights Reserved.