Один действительно простой подход заключается в использовании классов Spring JDBC, которые предоставляют множество удобных методов по сравнению с необработанным JDBC и автоматически управляют высвобождением ресурсов. Spring также предоставляет расширенную иерархию исключений, которая позволяет выполнять определенные действия на основе определенных ошибок (например, повторная попытка блокировки базы данных).
Кроме того, в отличие от многих других постоянных слоев, Spring не скрывает реализацию JDBC под оболочками (он действует как тонкий слой), что позволяет вам использовать необработанный JDBC при необходимости.
* Инициализация 1006 *
// 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 (или вставка)
// 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-запрос
// 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"));
}
});