org.springframework.jdbc.core.support
Class AbstractSqlTypeValue
java.lang.Object
org.springframework.jdbc.core.support.AbstractSqlTypeValue
- All Implemented Interfaces:
- SqlTypeValue
public abstract class AbstractSqlTypeValue
- extends Object
- implements SqlTypeValue
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 in = new HashMap();
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);
- Since:
- 1.1
- Author:
- Juergen Hoeller
- See Also:
PreparedStatement.setObject(int, Object, int)
,
StoredProcedure
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractSqlTypeValue
public AbstractSqlTypeValue()
setTypeValue
public final void setTypeValue(PreparedStatement ps,
int paramIndex,
int sqlType,
String typeName)
throws SQLException
- Description copied from interface:
SqlTypeValue
- Set the type value on the given PreparedStatement.
- Specified by:
setTypeValue
in interface SqlTypeValue
- Parameters:
ps
- the PreparedStatement to work onparamIndex
- the index of the parameter for which we need to set the valuesqlType
- SQL type of the parameter we are settingtypeName
- the type name of the parameter (optional)
- Throws:
SQLException
- if a SQLException is encountered setting parameter values
(that is, there's no need to catch SQLException)- See Also:
Types
,
PreparedStatement.setObject(int, java.lang.Object, int, int)
createTypeValue
protected abstract Object createTypeValue(Connection con,
int sqlType,
String typeName)
throws SQLException
- Create the type value to be passed into
PreparedStatement.setObject
.
- Parameters:
con
- the JDBC Connection, if needed to create any database-specific objectssqlType
- SQL type of the parameter we are settingtypeName
- the type name of the parameter
- Returns:
- the type value
- Throws:
SQLException
- if a SQLException is encountered setting
parameter values (that is, there's no need to catch SQLException)- See Also:
PreparedStatement.setObject(int, Object, int)
Copyright (c) 2002-2005 The Spring Framework Project.