sql >> Databasteknik >  >> RDS >> Mysql

Ska jag använda PreparedStatements för alla mina databasinlägg i Java?

Ja, använd förberedda uttalanden för allt.

  1. De analyseras en gång.

  2. De är immuna mot SQL-injektionsattacker.

  3. 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.



  1. Finns det några fallgropar/saker du behöver veta när du byter från MyISAM till InnoDB

  2. PHP MySQL - Fel:Ingen databas har valts

  3. Hantera data från flervalsfält

  4. Hur MID()-funktionen fungerar i MySQL