Utilizando pstmt.setObject

2 respostas
henriquerocha

Olá pessoal,

Estou com uma dúvida, estou fazendo teste para utilizar em minha aplicação que utiliza JDBC.

Gostaria de utilizar um “for”, para deixar mais dinamico settar os parametros de uma consulta.
Ex:

for (int i = 0; i < parametros.length; i++) {

pstmt.setObject(i + 1, parametros[i]);

}

Em vez de fazer vários pstmt, para cada tipo. Como pstm.setInt(para inteiros), pstmt.setString(para Strings) e assim por diante. Gostaria de saber se vou perder alguma performance em Banco(precisamente ORACLE), como é o funcionamento do .setObject(, será que ele vai saber o tipo. Tenho medo de quando chegar em banco, ele não utilize o indice do campo(caso este tenha).Diminua a performance. Num exemplo em vez de passar um tipo int ou passar um tipo Integer, será a mesma performance??

2 Respostas

T

Já vi usarem “setObject” em um sistema, e não aconselho, porque você fica à mercê da implementação correta pelo driver.
Pode ser que o seu programa simplesmente pare de funcionar porque a versão do driver foi alterada…
A propósito, quando o dado chega ao banco, é sempre o que o driver entendeu quando leu os metadados - descobrir que tipo de “object” enviar para o banco é feito pelo driver, não pelo banco. Isso quer dizer que se o seu driver tiver algum problema ou for atualizado, você pode ter problemas sérios.

eduveks

Curti a enquete :lol: com as duas opções iguais lol

E já tem dois votos :stuck_out_tongue:

Criado 16 de agosto de 2006
Ultima resposta 16 de ago. de 2006
Respostas 2
Participantes 3