In looking at this further... Resultset.getInt returns an int...
http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html#getInt(int)
However the autoboxing feature of Java 1.5 converts it to an Integer.
public void testAutoboxing() {
int i = 1;
Object o = i;
assertTrue(o.getClass().equals(Integer.class));
}
So the 2.3.4 IntegerTypeHandler should be able to be...
public Object getResult(ResultSet rs, String columnName)
throws SQLException {
int i = rs.getInt(columnName);
if (rs.wasNull()) {
return null;
} else {
return i;
}
}
Correct?
Mike
On Thu, Mar 4, 2010 at 3:39 PM, Nathan Maves <[email protected]> wrote:
> 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 <[email protected]>
> 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: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]