eugene_leshchinskiy
@eugene_leshchinskiy

Где и как правильно открывать connection используя JDBC + DAO?

Всем привет. Ищу и не могу найти почему-то некоторую эталонную реализацию паттерна 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, а не в отдельном классе, как у меня. Так как все-таки делается правильно? Буду благодарен за ответ или ссылку.
  • Вопрос задан
  • 315 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rou1997
@Rou1997
А в чем вообще суть такого вопроса?
Допустим, единственно правильное решение для такого общего вопроса действительно существует. :)
Но все равно, зачем сейчас им заниматься, когда можно не останавливаться на этом и продолжить дальнейшую реализацию DAO, другую работу, а затем, если возникнут проблемы, то просто переделать, ведь в данном случае совсем несложно?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы