sql >> Base de Datos >  >> RDS >> Mysql

¿Debería usar PreparedStatements para todas mis inserciones de base de datos en Java?

Sí, use declaraciones preparadas para todo.

  1. Se analizan una vez.

  2. Son inmunes a los ataques de inyección SQL.

  3. Tienen un mejor diseño porque tienes que pensar en tu SQL y cómo se usa.

Si cree que solo se usan una vez, no está mirando el panorama general. Algún día, tus datos o tu aplicación cambiarán.

Editar.

¿Por qué las declaraciones preparadas te hacen pensar en tu SQL?

  • Cuando ensambla una cadena (o simplemente ejecuta un bloque de texto literal), no está creando una nueva PreparedStatement objeto. Solo está ejecutando SQL; se puede hacer de manera muy casual.

  • Cuando tienes que crear (y guardar) una PreparedStatement , tienes que pensar un poco más en la encapsulación, la asignación de responsabilidad. La preparación de una declaración es un evento con estado antes de realizar cualquier procesamiento de SQL.

El trabajo extra es pequeño, pero no insignificante. Es lo que hace que la gente empiece a pensar en ORM y una capa de almacenamiento en caché de datos, y cosas así para optimizar el acceso a su base de datos.

Con declaraciones preparadas, el acceso a la base de datos es menos casual, más intencional.