wichtig sind eigentlich nur 2 Dinge:
1. Benutze PreparedStatements, wann immer möglich.
https://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.htmlDann brauchst Du dir keine Gedanken zu SQL Injection machen.
2. Wenn Java 6 (wahrscheinlich) musst Du zumindest die Connection selbst closen.
Dieser Codeblock hinter dem link oben
} finally {
if (updateSales != null) {
updateSales.close();
}
if (updateTotal != null) {
updateTotal.close();
}
con.setAutoCommit(true);
}
}
ist nicht zum Spass da und kann als Beispiel dienen...
Mit Java 7 gibt es Autocloseable Ressources. Das ist syntaktisch ein wenig besser. stackoverflow.com/questions/9260159/java-7-automatic-resource-management-jdbc-try-with-resources-statement
In erstaunlichen 50% der Fälle, in denen ich JDBC code sehe, halten sich die Entwickler nicht an diese 2 einfachen Grundsätze. Das kann leicht zu blockierten Ressourcen in Produktion und echt nicht so witzigen Security Lücken führen.
Übrigens war das schon 1999 bekannt, als ich meinen ersten JDBC code geschrieben hab.
PRO-TIP: Es kommt heute relativ selten vor, dass ich nacktes JDBC programmiere. Normal ist das eingewickelt in Frameworks wie JPA oder/und Hibernate oder auch ibatis. Es ist aber für bestimmte Aufgaben völlig i.O. nacktes JDBC zu verwenden, insbesondere wenn das kein reines Java Projekt ist. Dann hab ich mir den Source Code - unter der Beachtung obiger Regeln - eigentlich immer aus dem JDBC Tutorial von Oracle (link oben) bzw. früher SUN copy-und-pasted.
Gruß Axel