Ja, använd förberedda uttalanden för allt.
-
De analyseras en gång.
-
De är immuna mot SQL-injektionsattacker.
-
De är en bättre design eftersom du måste tänka på din SQL och hur den används.
Om du tror att de bara används en gång, tittar du inte på helheten. En dag kommer din data eller din applikation att ändras.
Redigera.
Varför får förberedda uttalanden dig att tänka på din SQL?
-
När du sätter ihop en sträng (eller bara kör ett bokstavligt textblock) skapar du inte en ny
PreparedStatement
objekt. Du kör bara SQL -- det kan göras väldigt slentrianmässigt. -
När du måste skapa (och spara) en
PreparedStatement
, du måste tänka lite mer på inkapsling, ansvarsfördelning. Förberedelsen av en sats är en tillståndsbestämd händelse innan någon SQL-bearbetning utförs.
Extraarbetet är litet, men inte obetydligt. Det är det som får människor att börja tänka på ORM och ett datacachelager, och sådana saker för att optimera sin databasåtkomst.
Med förberedda uttalanden är databasåtkomst mindre tillfällig, mer avsiktlig.