Ein wirklich einfacher Ansatz ist die Verwendung der JDBC-Klassen von Spring, die eine Vielzahl von Komfortmethoden über Raw JDBC bereitstellen und die Freigabe von Ressourcen automatisch verwalten. Spring bietet auch eine reichhaltige Ausnahmehierarchie, die es ermöglicht, spezifische Aktionen auf der Grundlage spezifischer Fehler durchzuführen (z. B. erneuter Versuch bei Datenbank-Stopp).
Im Gegensatz zu vielen anderen Persistenzschichten versteckt Spring die JDBC-Implementierung nicht unter der Haube (es handelt sich um eine dünne Schicht), so dass Sie bei Bedarf rohes JDBC verwenden können.
Initialisierung
// First create a DataSource corresponding to a single connection.
// Your production application could potentially use a connection pool.
// true == suppress close of underlying connection when close() is called.
DataSource ds = new SingleConnectionDataSource("com.MyDriver", "Database URL", "user", "password", true);
// Now create a SimpleJdbcTemplate passing in the DataSource. This provides many
// useful utility methods.
SimpleJdbcTemplate tmpl = new SimpleJdbcTemplate(ds);
SQL-Aktualisierung (oder Einfügen)
// Simple example of SQL update. The resources are automatically release if an exception
// occurs. SQLExceptions are translated into Spring's rich DataAccessException exception
// hierarchy, allowing different actions to be performed based on the specific type of
// error.
int nRows = tmpl.update("update Foo set Name = ? where Id = ?", "Hello", 5);
assert nRows == 1;
SQL-Abfrage
// Example of SQL query using ParameterizedRowMapper to translate each row of the
// ResultSet into a Person object.
tmpl.query("select * from Person", new ParameterizedRowMapper<Person>() {
Person mapRow(ResultSet rs, int rowNum) {
return new Person(rs.getString("FirstName"), rs.getString("LastName"));
}
});