Spring jdbc(java类型和oracle类型的转换)(五)

2014-11-24 11:07:21 · 作者: · 浏览: 5
ublic static final int NULL = 0;
public static final int NUMBER = 2;
public static final int RAW = -2;
public static final int OTHER = 1111;
public static final int FIXED_CHAR = 999;
public static final int DATALINK = 70;
public static final int BOOLEAN = 16;
private static final String _Copyright_2007_Oracle_All_Rights_Reserved_ = null;
public static final String BUILD_DATE = "Fri_Jul_31_19:30:28_PDT_2009";
public static final boolean TRACE = false;
public static final boolean PRIVATE_TRACE = false;
}
最终驱动程序将根据转换的类型进行参数绑定,具体如下:
void setObjectCritical(int paramInt1, Object paramObject, int paramInt2, int paramInt3)
throws SQLException
{
SQLException localSQLException;
switch (paramInt2)
{
case 1:
if ((paramObject instanceof CHAR)) {
setCHARInternal(paramInt1, (CHAR)paramObject);
} else if ((paramObject instanceof String)) {
setStringInternal(paramInt1, (String)paramObject);
} else if ((paramObject instanceof Boolean)) {
setStringInternal(paramInt1, new StringBuilder().append("").append(((Boolean)paramObject).booleanValue() 1 : 0).toString());
}
else if ((paramObject instanceof Integer)) {
setStringInternal(paramInt1, new StringBuilder().append("").append(((Integer)paramObject).intValue()).toString());
} else if ((paramObject instanceof Long)) {
setStringInternal(paramInt1, new StringBuilder().append("").append(((Long)paramObject).longValue()).toString());
} else if ((paramObject instanceof Float)) {
setStringInternal(paramInt1, new StringBuilder().append("").append(((Float)paramObject).floatValue()).toString());
} else if ((paramObject instanceof Double)) {
setStringInternal(paramInt1, new StringBuilder().append("").append(((Double)paramObject).doubleva lue()).toString());
} else if ((paramObject instanceof BigDecimal)) {
setStringInternal(paramInt1, ((BigDecimal)paramObject).toString());
} else if ((paramObject instanceof Date)) {
setStringInternal(paramInt1, new StringBuilder().append("").append(((Date)paramObject).toString()).toString());
} else if ((paramObject instanceof Time)) {
setStringInternal(paramInt1, new StringBuilder().append("").append(((Time)paramObject).toString()).toString());
} else if ((paramObject instanceof Timestamp)) {
setStringInternal(paramInt1, new StringBuilder().append("").append(((Timestamp)paramObject).toString()).toString());
}
else {
localSQLException = DatabaseError.createSqlException(getConnectionDuringExceptionHandling(), 132);
localSQLException.fillInStackTrace();
throw localSQLException;
}
case 12:
if ((paramObject instanceof String)) {
setStringInternal(paramInt1, (String)paramObject);
} else if ((paramObject instanceof Boolean)) {
setStringInternal(paramInt1, new StringBuilder().append("").append(((Boolean)paramObj