27 lines
1.3 KiB
Plaintext
27 lines
1.3 KiB
Plaintext
DAO: правило перегруженных методов (короткая справка)
|
||
|
||
1) Всегда два метода:
|
||
|
||
insert(Connection c, …) // не закрывает соединение, не коммитит
|
||
insert(…) // открывает своё соединение и сам закрывает
|
||
|
||
|
||
2) Внутри одного бизнес-метода:
|
||
открываем одно соединение conn = db.getConnection();
|
||
делаем несколько DAO-вызовов через версии с Connection
|
||
в конце вручную conn.commit();
|
||
conn закрываем только один раз в finally
|
||
|
||
3) DAO-методы с Connection:
|
||
не создают соединение
|
||
не закрывают соединение
|
||
не делают commit/rollback
|
||
|
||
4) DAO-методы без Connection:
|
||
маленькие удобные обёртки
|
||
открывают соединение в try-with-resources
|
||
внутри вызывают версию с Connection
|
||
|
||
5) Итог:
|
||
одиночные операции → вызываем короткий метод без Connection
|
||
пакетные/атомарные операции → берём одно соединение и используем только методы с Connection |