public abstract class

AbstractSqlTypeValue

extends Object
implements SqlTypeValue
java.lang.Object
   ↳ org.springframework.jdbc.core.support.AbstractSqlTypeValue

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);
 

Summary

[Expand]
Inherited Constants
From interface org.springframework.jdbc.core.SqlTypeValue
Public Constructors
AbstractSqlTypeValue()
Public Methods
final void setTypeValue(PreparedStatement ps, int paramIndex, int sqlType, String typeName)
Set the type value on the given PreparedStatement.
Protected Methods
abstract Object createTypeValue(Connection con, int sqlType, String typeName)
Create the type value to be passed into PreparedStatement.setObject.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.jdbc.core.SqlTypeValue

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)
Throws
SQLException

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
Returns
  • the type value
Throws
SQLException if a SQLException is encountered setting parameter values (that is, there's no need to catch SQLException)