PessoALL
Estou fazendo um estudo do Pattern DAO. Criei uma classe DAO(AeroportoDAO) onde vou ter todas as operações de negocio , no qual tenho um metodo para criar o Aeroporto como listado abaixo:
/**
* +criarAeroporto() - Criar Aeroporto.
* @param Aeroporto aeroporto
* @throws DAOException
*/
public void criarAeroporto(Aeroporto aeroporto) throws DAOException {
//validando informações
if(aeroporto.getId() == null){
throw new DAOException("Error : O id deve ser informado.");
}
try{
// Preenchendo parametros...
List ListaParametros = new ArrayList();
ListaParametros.add(aeroporto.getId());
ListaParametros.add(aeroporto.getDescricao());
query = new DBQuery();
i = query.executeUpdate(SQL_CREATE_AEROPORTO, ListaParametros);
}catch(Exception e){
throw new DAOException(e.getMessage());
}
}
As querys de consulta, inclusão, modificação e exclusão são passadas para uma classe DBQuery, onde eu tenho os metodos executeQuery e executeUpdate passando por parametros as query SQL, e uma lista de parametros(List) para a utilização de uma PreparedStatement. Segue abaixo um pedaço dessa classe:
[code]
/**
* +executeQuery()
* Executar consultas ao banco de dados.
* @param String sql
* List params
* @return ResultSet
* @throws Exception
*/
public ResultSet executeQuery(String sql, List params) throws Exception{
try {
//
connection = DBConnection.getConnection();
pstmt = this.setParametros(connection, sql, params);
rs = pstmt.executeQuery();
return rs;
} catch (Exception e) {
throw new Exception("Error : " + e.getMessage());
}
}[/code]
E o metodo que monta os parametros do PreparedStatement:
private PreparedStatement setParametros(Connection conexao, String
sql , List parametros) throws Exception{
PreparedStatement stmt = null;
Object parametro = null;
int i = 0;
try{
stmt = connection.prepareStatement(sql);
Iterator lista = parametros.iterator();
// Preenchendo parametros
while(lista.hasNext()){
i++;
parametro = (Object) lista.next();
stmt.setObject(i, parametro);
}
}catch (Exception e){
}
return stmt;
}
Ao executar uma classe de teste da a seguinte mensagem de texto:
“This function is not supported”.
Alguem sabe o que pode estar acontecendo ?