com.lavans.util.jdbc.cluster
クラス ClusterPreparedStatement

java.lang.Object
  上位を拡張 com.lavans.util.jdbc.cluster.ClusterStatement
      上位を拡張 com.lavans.util.jdbc.cluster.ClusterPreparedStatement
すべての実装されたインタフェース:
ClusterStatementInterface, java.sql.PreparedStatement, java.sql.Statement
直系の既知のサブクラス:
ClusterCallableStatement

public class ClusterPreparedStatement
extends ClusterStatement
implements java.sql.PreparedStatement

PrepareStatementをクラスタ対応化するクラス。 setXX()でセットされたパラメータを保持し、DB切り替えで再実行する際には 再度setXX()を行う。 executeUpdate()等の更新処理が複数回実行された後、 Commitする前にDB切替が起きた場合、すべての更新処理が再実行される。 従って、トランザクション内で一つのStatementを持ち回って更新処理を 行う処理はフェイルオーバーできる。 sequenceを使って連番管理している場合は2カウントアップされる?(要確認)。


フィールドの概要
 
クラス com.lavans.util.jdbc.cluster.ClusterStatement から継承されたフィールド
logger, MSG_ERR_REUPDATE, MSG_WARN_SWITCH_DB
 
インタフェース java.sql.Statement から継承されたフィールド
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO
 
コンストラクタの概要
ClusterPreparedStatement(ClusterConnection con, java.sql.PreparedStatement st)
           
 
メソッドの概要
 void addBatch()
           
 void clearParameters()
           
 boolean execute()
           
 java.sql.ResultSet executeQuery()
           
 int executeUpdate()
           
 java.sql.ResultSet getAnotherResultSet()
          ResultSet再生成処理。
 java.sql.ResultSetMetaData getMetaData()
           
 java.sql.ParameterMetaData getParameterMetaData()
           
 void reupdateStatement(java.sql.Statement st)
          DB切替時、新たに取得したStatementに対して 更新処理を再実行する。
 void setArray(int i, java.sql.Array x)
           
 void setAsciiStream(int parameterIndex, java.io.InputStream x, int length)
           
 void setBigDecimal(int parameterIndex, java.math.BigDecimal x)
           
 void setBinaryStream(int parameterIndex, java.io.InputStream x, int length)
           
 void setBlob(int i, java.sql.Blob x)
           
 void setBoolean(int parameterIndex, boolean x)
           
 void setByte(int parameterIndex, byte x)
           
 void setBytes(int parameterIndex, byte[] x)
           
 void setCharacterStream(int parameterIndex, java.io.Reader reader, int length)
           
 void setClob(int i, java.sql.Clob x)
           
 void setDate(int parameterIndex, java.sql.Date x)
           
 void setDate(int parameterIndex, java.sql.Date x, java.util.Calendar cal)
           
 void setDouble(int parameterIndex, double x)
           
 void setFloat(int parameterIndex, float x)
           
 void setInt(int parameterIndex, int x)
           
 void setLong(int parameterIndex, long x)
           
 void setNull(int parameterIndex, int sqlType)
           
 void setNull(int paramIndex, int sqlType, java.lang.String typeName)
           
 void setObject(int parameterIndex, java.lang.Object x)
           
 void setObject(int parameterIndex, java.lang.Object x, int targetSqlType)
           
 void setObject(int parameterIndex, java.lang.Object x, int targetSqlType, int scale)
           
 void setRef(int i, java.sql.Ref x)
           
 void setShort(int parameterIndex, short x)
           
 void setString(int parameterIndex, java.lang.String x)
           
 void setTime(int parameterIndex, java.sql.Time x)
           
 void setTime(int parameterIndex, java.sql.Time x, java.util.Calendar cal)
           
 void setTimestamp(int parameterIndex, java.sql.Timestamp x)
           
 void setTimestamp(int parameterIndex, java.sql.Timestamp x, java.util.Calendar cal)
           
 void setUnicodeStream(int parameterIndex, java.io.InputStream x, int length)
          推奨されていません。  
 void setURL(int parameterIndex, java.net.URL x)
           
 
クラス com.lavans.util.jdbc.cluster.ClusterStatement から継承されたメソッド
addBatch, cancel, clearBatch, clearWarnings, close, execute, execute, execute, execute, executeBatch, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setQueryTimeout
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース java.sql.Statement から継承されたメソッド
addBatch, cancel, clearBatch, clearWarnings, close, execute, execute, execute, execute, executeBatch, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setQueryTimeout
 

コンストラクタの詳細

ClusterPreparedStatement

public ClusterPreparedStatement(ClusterConnection con,
                                java.sql.PreparedStatement st)
パラメータ:
con -
st -
メソッドの詳細

reupdateStatement

public void reupdateStatement(java.sql.Statement st)
                       throws java.sql.SQLException
DB切替時、新たに取得したStatementに対して 更新処理を再実行する。

定義:
インタフェース ClusterStatementInterface 内の reupdateStatement
オーバーライド:
クラス ClusterStatement 内の reupdateStatement
パラメータ:
-
例外:
java.sql.SQLException

getAnotherResultSet

public java.sql.ResultSet getAnotherResultSet()
                                       throws java.sql.SQLException
ResultSet再生成処理。 ResultSetで障害が起きたときに、ResultSetから呼ばれる。

定義:
インタフェース ClusterStatementInterface 内の getAnotherResultSet
オーバーライド:
クラス ClusterStatement 内の getAnotherResultSet
例外:
java.sql.SQLException
関連項目:
ClusterStatementInterface.getAnotherResultSet()

executeQuery

public java.sql.ResultSet executeQuery()
                                throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の executeQuery
例外:
java.sql.SQLException

executeUpdate

public int executeUpdate()
                  throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の executeUpdate
例外:
java.sql.SQLException

execute

public boolean execute()
                throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の execute
例外:
java.sql.SQLException

addBatch

public void addBatch()
              throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の addBatch
例外:
java.sql.SQLException

clearParameters

public void clearParameters()
                     throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の clearParameters
例外:
java.sql.SQLException
関連項目:
PreparedStatement.clearParameters()

setByte

public void setByte(int parameterIndex,
                    byte x)
             throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setByte
例外:
java.sql.SQLException
関連項目:
PreparedStatement.setByte(int, byte)

setDouble

public void setDouble(int parameterIndex,
                      double x)
               throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setDouble
例外:
java.sql.SQLException

setFloat

public void setFloat(int parameterIndex,
                     float x)
              throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setFloat
例外:
java.sql.SQLException

setInt

public void setInt(int parameterIndex,
                   int x)
            throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setInt
例外:
java.sql.SQLException

setNull

public void setNull(int parameterIndex,
                    int sqlType)
             throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setNull
例外:
java.sql.SQLException

setLong

public void setLong(int parameterIndex,
                    long x)
             throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setLong
例外:
java.sql.SQLException

setShort

public void setShort(int parameterIndex,
                     short x)
              throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setShort
例外:
java.sql.SQLException

setBoolean

public void setBoolean(int parameterIndex,
                       boolean x)
                throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setBoolean
例外:
java.sql.SQLException

setBytes

public void setBytes(int parameterIndex,
                     byte[] x)
              throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setBytes
例外:
java.sql.SQLException

setAsciiStream

public void setAsciiStream(int parameterIndex,
                           java.io.InputStream x,
                           int length)
                    throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setAsciiStream
例外:
java.sql.SQLException

setBinaryStream

public void setBinaryStream(int parameterIndex,
                            java.io.InputStream x,
                            int length)
                     throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setBinaryStream
例外:
java.sql.SQLException

setUnicodeStream

public void setUnicodeStream(int parameterIndex,
                             java.io.InputStream x,
                             int length)
                      throws java.sql.SQLException
推奨されていません。 

定義:
インタフェース java.sql.PreparedStatement 内の setUnicodeStream
例外:
java.sql.SQLException
関連項目:
PreparedStatement.setUnicodeStream(int, java.io.InputStream, int)

setCharacterStream

public void setCharacterStream(int parameterIndex,
                               java.io.Reader reader,
                               int length)
                        throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setCharacterStream
例外:
java.sql.SQLException

setObject

public void setObject(int parameterIndex,
                      java.lang.Object x)
               throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setObject
例外:
java.sql.SQLException

setObject

public void setObject(int parameterIndex,
                      java.lang.Object x,
                      int targetSqlType)
               throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setObject
例外:
java.sql.SQLException

setObject

public void setObject(int parameterIndex,
                      java.lang.Object x,
                      int targetSqlType,
                      int scale)
               throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setObject
例外:
java.sql.SQLException

setNull

public void setNull(int paramIndex,
                    int sqlType,
                    java.lang.String typeName)
             throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setNull
例外:
java.sql.SQLException

setString

public void setString(int parameterIndex,
                      java.lang.String x)
               throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setString
例外:
java.sql.SQLException

setBigDecimal

public void setBigDecimal(int parameterIndex,
                          java.math.BigDecimal x)
                   throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setBigDecimal
例外:
java.sql.SQLException

setURL

public void setURL(int parameterIndex,
                   java.net.URL x)
            throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setURL
例外:
java.sql.SQLException

setArray

public void setArray(int i,
                     java.sql.Array x)
              throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setArray
例外:
java.sql.SQLException

setBlob

public void setBlob(int i,
                    java.sql.Blob x)
             throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setBlob
例外:
java.sql.SQLException

setClob

public void setClob(int i,
                    java.sql.Clob x)
             throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setClob
例外:
java.sql.SQLException

setDate

public void setDate(int parameterIndex,
                    java.sql.Date x)
             throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setDate
例外:
java.sql.SQLException

getParameterMetaData

public java.sql.ParameterMetaData getParameterMetaData()
                                                throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の getParameterMetaData
例外:
java.sql.SQLException

setRef

public void setRef(int i,
                   java.sql.Ref x)
            throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setRef
例外:
java.sql.SQLException

getMetaData

public java.sql.ResultSetMetaData getMetaData()
                                       throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の getMetaData
例外:
java.sql.SQLException

setTime

public void setTime(int parameterIndex,
                    java.sql.Time x)
             throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setTime
例外:
java.sql.SQLException

setTimestamp

public void setTimestamp(int parameterIndex,
                         java.sql.Timestamp x)
                  throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setTimestamp
例外:
java.sql.SQLException

setDate

public void setDate(int parameterIndex,
                    java.sql.Date x,
                    java.util.Calendar cal)
             throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setDate
例外:
java.sql.SQLException

setTime

public void setTime(int parameterIndex,
                    java.sql.Time x,
                    java.util.Calendar cal)
             throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setTime
例外:
java.sql.SQLException

setTimestamp

public void setTimestamp(int parameterIndex,
                         java.sql.Timestamp x,
                         java.util.Calendar cal)
                  throws java.sql.SQLException
定義:
インタフェース java.sql.PreparedStatement 内の setTimestamp
例外:
java.sql.SQLException