Las declaraciones preparadas son mucho más rápidas cuando tiene que ejecutar la misma instrucción varias veces, con datos diferentes. Eso es porque SQL validará la consulta solo una vez, mientras que si solo usa una declaración validará la consulta cada vez.
La otra ventaja del uso de PreparedStatements es evitar causar una vulnerabilidad de inyección SQL, aunque en su caso su consulta es tan simple que no la ha encontrado.
Para su consulta, la diferencia entre ejecutar una declaración preparada vs una declaración es probablemente insignificante.
EDITAR: En respuesta a su comentario a continuación, tendrá que mirar de cerca la clase DAO para ver qué está haciendo. Si, por ejemplo, cada vez que se llama al método, vuelve a crear la declaración preparada, entonces perderá cualquier beneficio de utilizar las declaraciones preparadas.
Lo que quiere lograr es la encapsulación de su capa de persistencia para que no haya una llamada específica a MySQL o Postgres o lo que esté utilizando, y al mismo tiempo aprovechar los beneficios de rendimiento y seguridad de cosas como declaraciones preparadas. Para hacer esto, necesita confiar en los propios objetos de Java, como PreparedStatement ,.
Yo personalmente crearía mi propia clase DAO para realizar operaciones CRUD, utilizando Hibernate debajo y la API Java Persistence para encapsularlo todo, y eso debería usar declaraciones preparadas para los beneficios de seguridad. Si tiene un caso de uso específico para hacer operaciones repetidas, entonces me inclinaría a envolverlo dentro de su propio objeto.
Hibernate se puede configurar para usar cualquier proveedor de base de datos que esté utilizando a través de un archivo XML, y de esta manera proporciona una encapsulación realmente nítida de su capa de persistencia. Sin embargo, ¡es un producto bastante complicado hacer las cosas bien!
Me gustaría aclarar algo. En mi aplicación web simple tengo clase DAO. En esta clase tengo el método (tomar información por ID) que usa preparadoStatement. Al invocar este método varias veces, ¿cuántas veces prepareStatement compilará previamente esta consulta SQL? – Ifozest
He editado mi respuesta principal para esto: es una parte interesante de su pregunta. – christophmccann
ver edición ahora para más información. – christophmccann