public abstract class OptionalTypeHandler<T> implements TypeHandler<T> { @Override public void setParameter(PreparedStatement ps, int i, @Nullable T parameter, @Nullable JdbcType jdbcType) throws SQLException {
int typeCode; int n = typeCode = jdbcType == null ? 1111 : jdbcType.TYPE_CODE; if (parameter == null) { ps.setNull(i, typeCode); return; } Object rawParameter = this.unpackOptional(parameter); if (rawParameter == null) { ps.setNull(i, typeCode); return; } assert (rawParameter != null); ps.setObject(i, rawParameter, typeCode); }
@Override public T getResult(ResultSet rs, String columnName) throws SQLException { Object rawValue = rs.getObject(columnName); return this.makeOptional(rawValue); }
@Override public T getResult(ResultSet rs, int columnIndex) throws SQLException { Object rawValue = rs.getObject(columnIndex); return this.makeOptional(rawValue); }
@Override public T getResult(CallableStatement cs, int columnIndex) throws SQLException { Object rawValue = cs.getObject(columnIndex); return this.makeOptional(rawValue); }
Hola a todos.
Estoy buscando a alguien con conocimientos en java EE, tengo un problema con una aplicación. Pago por la solución.
El problema es el siguiente:
Tengo una aplicación creada con Dropwizard; resulta que Netbeans está arrojando un mensaje de error en la línea 11, el mensaje es el siguiente:
TypeHandler does not take parameters
El error ocurre acá:
public abstract class OptionalTypeHandler<T> implements TypeHandler<T> {
El código es el siguiente:
package sistema.facturador.mybatis.types;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.annotation.Nullable;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.TypeHandler;
public abstract class OptionalTypeHandler<T> implements TypeHandler<T> {
@Override
public void setParameter(PreparedStatement ps, int i, @Nullable T parameter, @Nullable JdbcType jdbcType) throws SQLException {
int typeCode;
int n = typeCode = jdbcType == null ? 1111 : jdbcType.TYPE_CODE;
if (parameter == null) {
ps.setNull(i, typeCode);
return;
}
Object rawParameter = this.unpackOptional(parameter);
if (rawParameter == null) {
ps.setNull(i, typeCode);
return;
}
assert (rawParameter != null);
ps.setObject(i, rawParameter, typeCode);
}
@Override
public T getResult(ResultSet rs, String columnName) throws SQLException {
Object rawValue = rs.getObject(columnName);
return this.makeOptional(rawValue);
}
@Override
public T getResult(ResultSet rs, int columnIndex) throws SQLException {
Object rawValue = rs.getObject(columnIndex);
return this.makeOptional(rawValue);
}
@Override
public T getResult(CallableStatement cs, int columnIndex) throws SQLException {
Object rawValue = cs.getObject(columnIndex);
return this.makeOptional(rawValue);
}
@Nullable
protected abstract Object unpackOptional(T var1);
protected abstract T makeOptional(@Nullable Object var1);
}
Sí alguien tiene la solución, puedo pagarle si es el caso.