Class AbstractSqlTypeValue
java.lang.Object
org.springframework.jdbc.core.support.AbstractSqlTypeValue
- All Implemented Interfaces:
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<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);
- Since:
- 1.1
- Author:
- Juergen Hoeller
- See Also:
-
Field Summary
Fields inherited from interface org.springframework.jdbc.core.SqlTypeValue
TYPE_UNKNOWN
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract Object
createTypeValue
(Connection con, int sqlType, String typeName) Create the type value to be passed intoPreparedStatement.setObject
.final void
setTypeValue
(PreparedStatement ps, int paramIndex, int sqlType, String typeName) Set the type value on the given PreparedStatement.
-
Constructor Details
-
AbstractSqlTypeValue
public AbstractSqlTypeValue()
-
-
Method Details
-
setTypeValue
public final void setTypeValue(PreparedStatement ps, int paramIndex, int sqlType, @Nullable String typeName) throws SQLException Description copied from interface:SqlTypeValue
Set the type value on the given PreparedStatement.- Specified by:
setTypeValue
in interfaceSqlTypeValue
- Parameters:
ps
- the PreparedStatement to work onparamIndex
- the index of the parameter for which we need to set the valuesqlType
- the SQL type of the parameter we are settingtypeName
- the type name of the parameter (optional)- Throws:
SQLException
- if an SQLException is encountered while setting parameter values- See Also:
-
createTypeValue
protected abstract Object createTypeValue(Connection con, int sqlType, @Nullable String typeName) throws SQLException Create the type value to be passed intoPreparedStatement.setObject
.- Parameters:
con
- the JDBC Connection, if needed to create any database-specific objectssqlType
- the SQL type of the parameter we are settingtypeName
- the type name of the parameter- Returns:
- the type value
- Throws:
SQLException
- if an SQLException is encountered setting parameter values (that is, there's no need to catch SQLException)- See Also:
-