liquibase-core/src/main/java/liquibase/executor/jvm/StatementCreatorUtils.java
public static void setParameterValue(
            PreparedStatement ps, int paramIndex, SqlParameter param, Object inValue)
            throws SQLException {

        setParameterValueInternal(ps, paramIndex, param.getSqlType(), param.getTypeName(), param.getScale(), inValue);
    }
public static void setParameterValue(
            PreparedStatement ps, int paramIndex, SqlParameter param, Object inValue)
            throws SQLException {

        setParameterValueInternal(ps, paramIndex, param.getSqlType(), param.getTypeName(), param.getScale(), inValue);
    }
Set the value for a parameter. The method used is based on the SQL type
of the parameter and we can handle complex types like arrays and LOBs.

@param ps         the prepared statement or callable statement
@param paramIndex index of the parameter we are setting
@param param      the parameter as it is declared including type
@param inValue    the value to set
@throws SQLException if thrown by PreparedStatement methods