Поддержка транзакций, тестового окружения и другие удобные надстройки над commons-dbutils

Поддержка транзакций, тестового окружения и другие удобные надстройки над commons-dbutils.91bad6134e9da34d3278e72fa2c79532.jpg»/>   Если обращение к RDBMS вашего проекта ведется не через ORM или Spring JdbcTemplate, то работу через голый JDBC может сильно скрасить commons-dbutils. Особенно если его надстроить транзакциями, работой с разными окружениями, авто-открытием/закрытием ресурсов, запрсами read-only, обработкой SqlException, возвратом pk при вставке и т.д. Т.е, например, чтобы можно было бы сделать так: int userId = Sql.queryForValue («SELECT ID FROM OU.USERS WHERE LAST_NAME=?», «IVANOV»); Sql.update («DELETE FROM OU.USERS WHERE FIRST_NAME=? AND LAST_NAME=?», fname, lname); List list = Sql.query («SELECT FROM OU.USERS», USER_LIST_HANDLER); int newId = Sql.insert («INSERT INTO OU.USERS VALUES (?,?)», fname, lname); И этот код работал бы внутри транзакции, через Application Server Connction pool и в JUnit без изменений и mock-ов. За чуть меньше года моей работы с commons-dbutils он оброс различными классами и утильными методами, о которых и хочу здесь рассказать.Читать дальше →

© Habrahabr.ru