Here is how IB3 does it

*BaseTypeHandler*
*
*
  public Object getResult(ResultSet rs, String columnName)
      throws SQLException {
    Object result = getNullableResult(rs, columnName);
    if (rs.wasNull()) {
      return null;
    } else {
      return result;
    }
  }

*IntegerTypeHandler*

  public Object getNullableResult(ResultSet rs, String columnName)
      throws SQLException {
    return rs.getInt(columnName);
  }

So the actual Integer creation is done by the driver.

On Thu, Mar 4, 2010 at 11:53 AM, Michael Schall <mike.sch...@gmail.com>wrote:

> I have been doing some performance tuning and looking a heap dumps.
> The number of Integer objects in memory is staggering. Looking at the
> 1.5 java docs, using Integer.valueOf should help.
> http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Integer.html#valueOf(int)
>
> This could be extended to most of the number type TypeHandlers in the
> 2.3.4 code base as it requires Java 1.5.  How is this handled in 3.0?
>
> IntegerTypeHandler (version 2.3.4 )
>  public Object getResult(ResultSet rs, String columnName)
>      throws SQLException {
>    int i = rs.getInt(columnName);
>    if (rs.wasNull()) {
>      return null;
>    } else {
>      return new Integer(i);
>    }
>  }
>
> Mike
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org
> For additional commands, e-mail: user-java-h...@ibatis.apache.org
>
>

Reply via email to