Всем привет. Ищу и не могу найти почему-то некоторую эталонную реализацию паттерна DAO на чистом JDBC.
Как делаю я:
Создаю класс DBPool:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBPool {
private static DBPool instance;
private static final String USER = "root";
private static final String PASSWORD = "root";
private static final String URL = "jdbc:mysql://localhost:3306/shop?useSSL=false";
private DBPool() {
}
public static DBPool getInstance() {
if (instance == null)
instance = new DBPool();
return instance;
}
public Connection getConnection() throws SQLException {
return DriverManager.getConnection(URL, USER, PASSWORD);
}
public void putConnection(Connection connection) throws SQLException {
if (connection != null)
connection.close();
}
}
А затем использую его в уже в готовых DAO реализациях. То есть открываю там connection и закрываю его. Однако мне где-то встречалось, что такой connection открывают в DAOFactroy, а не в отдельном классе, как у меня. Так как все-таки делается правильно? Буду благодарен за ответ или ссылку.