-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Closed
Labels
Description
某些数据库的getParameterMetaData 会返回 NULL,然后导致报错,也需要规避这种情况
原代码:
public static int getTypeOfNull(PreparedStatement ps, int paramIndex) {
int sqlType = Types.VARCHAR;
final ParameterMetaData pmd;
try {
pmd = ps.getParameterMetaData();
sqlType = pmd.getParameterType(paramIndex);
} catch (SQLException ignore) {
// ignore
// log.warn("Null param of index [{}] type get failed, by: {}", paramIndex, e.getMessage());
}
return sqlType;
}需改成
public static int getTypeOfNull(PreparedStatement ps, int paramIndex) {
int sqlType = Types.VARCHAR;
final ParameterMetaData pmd;
try {
pmd = ps.getParameterMetaData();
if (pmd == null) {
return sqlType;
}
sqlType = pmd.getParameterType(paramIndex);
} catch (SQLException ignore) {
// ignore
// log.warn("Null param of index [{}] type get failed, by: {}", paramIndex, e.getMessage());
}
return sqlType;
}