Class Overview
Abstract implementation of the SqlTypeValue interface, for convenient
creation of type values that are supposed to be passed into the
PreparedStatement.setObject
method. The createTypeValue
callback method has access to the underlying Connection, if that should
be needed to create any database-specific objects.
A usage example from a StoredProcedure (compare this to the plain
SqlTypeValue version in the superclass javadoc):
proc.declareParameter(new SqlParameter("myarray", Types.ARRAY, "NUMBERS"));
...
Map<String, Object> in = new HashMap<String, Object>();
in.put("myarray", new AbstractSqlTypeValue() {
public Object createTypeValue(Connection con, int sqlType, String typeName) throws SQLException {
oracle.sql.ArrayDescriptor desc = new oracle.sql.ArrayDescriptor(typeName, con);
return new oracle.sql.ARRAY(desc, con, seats);
}
});
Map out = execute(in);
Public Constructors
public
AbstractSqlTypeValue
()
Public Methods
public
final
void
setTypeValue
(PreparedStatement ps, int paramIndex, int sqlType, String typeName)
Set the type value on the given PreparedStatement.
Parameters
ps
| the PreparedStatement to work on |
paramIndex
| the index of the parameter for which we need to set the value |
sqlType
| SQL type of the parameter we are setting |
typeName
| the type name of the parameter (optional) |
Protected Methods
protected
abstract
Object
createTypeValue
(Connection con, int sqlType, String typeName)
Create the type value to be passed into PreparedStatement.setObject
.
Parameters
con
| the JDBC Connection, if needed to create any database-specific objects |
sqlType
| SQL type of the parameter we are setting |
typeName
| the type name of the parameter |
Throws
SQLException
| if a SQLException is encountered setting
parameter values (that is, there's no need to catch SQLException) |