Statment

Qual a diferança entre PreparatStatment e Statment, qual tenho um melhor desempenho???

O PreparedStatement além de ser pré-compilado permite que você trabalhe com binds, ou seja, na ora de passar os valores para a query não precisa ficar fazendo código do tipo:

"... where codigo = " + objeto.getCodigo() + " and ..." 

Logo o PS tem um maior desenpenho que o Statement

Se você tem uma consulta que usa muito, o PreparedStatement tem melhor desempenho.

Se for fazer uma consulta isolada, que pouco se repete, o Statemente ainda é mais rápido. É que a pré-compilação exige certo tempo. A diferença, nesse caso no entanto, dificilmente será perceptivel ao usuário final.

Agora, se você tem vários statements parecidos, que vão rodar em sequencia, quem tem o melhor desempenho mesmo são os batchUpdates. Dê uma olhada nos métodos addBatch e executeBatch(). Existe tanto para o statement, quanto para o PreparedStatement.

Se você está tão preocupado com performance, leia esse artigo:
http://www.precisejava.com/javaperf/j2ee/JDBC.htm

Ah Legal pessoal, e como faço pra trabalhar com ele, tipo resgatar uma select count num banco usando o preparedStatement???