Package org.apache.commons.dbutils
Class OutParameter<T>
- java.lang.Object
-
- org.apache.commons.dbutils.OutParameter<T>
-
- Type Parameters:
T
- the class of the parameter; should be compatible via cast with the class returned by theCallableStatement.getObject(int)
method.
public class OutParameter<T> extends java.lang.Object
Represents an OUT parameter for a stored procedure. When running a stored procedure withQueryRunner
, pass an instance ofOutParameter
to indicate that the parameter at that index is an OUT parameter. The value of the parameter may be obtained from theOutParameter
instance viagetValue()
.INOUT parameters are also supported by setting the
value
of theOutParameter
instance before invoking the stored procedure.
-
-
Constructor Summary
Constructors Constructor Description OutParameter(int sqlType, java.lang.Class<T> javaType)
Construct anOutParameter
for the given JDBC SQL type and Java type.OutParameter(int sqlType, java.lang.Class<T> javaType, T value)
Construct anOutParameter
for the given JDBC SQL type and Java type and with the given value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Class<T>
getJavaType()
Get the Java class for this OUT parameter.int
getSqlType()
Get the JDBC SQL type for this OUT parameter.T
getValue()
Get the value of the OUT parameter.(package private) void
register(java.sql.CallableStatement stmt, int index)
Set up the given statement by registering an OUT parameter at the given index using thesqlType
andvalue
of thisOutParameter
.(package private) void
setValue(java.sql.CallableStatement stmt, int index)
Set the value using the return value of the parameter an the given index from the givenCallableStatement
.void
setValue(T value)
Set the value of the OUT parameter.java.lang.String
toString()
-
-
-
Constructor Detail
-
OutParameter
public OutParameter(int sqlType, java.lang.Class<T> javaType)
Construct anOutParameter
for the given JDBC SQL type and Java type.- Parameters:
sqlType
- the JDBC SQL type of the parameter as injava.sql.Types
.javaType
- the Java class of the parameter value, cast compatible with the type returned byCallableStatement.getObject(int)
for the JDBC type given bysqlType
.
-
OutParameter
public OutParameter(int sqlType, java.lang.Class<T> javaType, T value)
Construct anOutParameter
for the given JDBC SQL type and Java type and with the given value. The parameter will be treated as an INOUT parameter if the value is null.- Parameters:
sqlType
- the JDBC SQL type of the parameter as injava.sql.Types
.javaType
- the Java class of the parameter value, cast compatible with the type returned byCallableStatement.getObject(int)
for the JDBC type given bysqlType
.value
- the IN value of the parameter
-
-
Method Detail
-
getSqlType
public int getSqlType()
Get the JDBC SQL type for this OUT parameter.- Returns:
- the JDBC SQL type for this OUT parameter.
-
getJavaType
public java.lang.Class<T> getJavaType()
Get the Java class for this OUT parameter.- Returns:
- the Java class for this OUT parameter.
-
getValue
public T getValue()
Get the value of the OUT parameter. After the stored procedure has been executed, the value is the value returned via this parameter.- Returns:
- the value of the OUT parameter.
-
setValue
public void setValue(T value)
Set the value of the OUT parameter. If the value is not null when the stored procedure is executed, then the parameter will be treated like an INOUT parameter.- Parameters:
value
- the new value for the parameter.
-
setValue
void setValue(java.sql.CallableStatement stmt, int index) throws java.sql.SQLException
Set the value using the return value of the parameter an the given index from the givenCallableStatement
.- Parameters:
stmt
- the already executed statementindex
- the (1-based) index of the parameter- Throws:
java.sql.SQLException
- when the value could not be retrieved from the statement.
-
register
void register(java.sql.CallableStatement stmt, int index) throws java.sql.SQLException
Set up the given statement by registering an OUT parameter at the given index using thesqlType
andvalue
of thisOutParameter
. If the value is not null, the parameter is treated like an INOUT parameter and the value is set on the statement.- Parameters:
stmt
- the statement the parameter should register on.index
- the (1-based) index of the parameter.- Throws:
java.sql.SQLException
- if the parameter could not be registered, or if the value of the parameter could not be set.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-