Тема: MySQL(JDBC) i Java, чи закривати підключення кожного разу.
Доброго дня товариство.
Моя програмка використовує JDBC, і користуюсь я стандартним кодом для виконання mysql запитів:
public class Manager {
    
    static final String USERNAME = "root";
    static final String PASSWORD = "12345";
    static final String CONN_STRING = "jdbc:mysql://localhost:3306/test?autoReconnect=true&useSSL=false";
    public static Connection conn=null;
    public ResultSet rs = null;
   
     /**
     * @param String source class or method
     */
    public Manager(String source) {
   
        System.out.println(" - object Manager was created from: "+source);
        
    }//end constructor
    
    public void connectToDB(String sourge) {
        try {
            conn = DriverManager.getConnection(CONN_STRING, USERNAME, PASSWORD);
            System.out.println(" - db connection established: " + conn.getCatalog() +" "+sourge);
        } catch (SQLException e) { e.printStackTrace();}
    }//end method
public class WorksSQL extends ConnectionDB{
    private String query;
    private Work work;
    
    public ArrayList<Work> getWorksObjectList(int id) {
        ArrayList<Work> works = new ArrayList<>();
        try {    
            Statement stmt = (Statement) conn.createStatement();
            query = "SELECT id_work, work_list, work_price, work_status, DATE_FORMAT(date_time_begin, '%d/%m/%Y') as date_t_b FROM works where id_unit = "+id;
            ResultSet rs = stmt.executeQuery(query);
            while(rs.next()) {
                work = new Work(Integer.parseInt(rs.getString("id_work")), rs.getString("work_list"), rs.getString("date_t_b"), rs.getString("work_price"), rs.getString("work_status"));
                works.add(work);
            }
        }catch (SQLException e) { e.printStackTrace();}
        return works;
    }//end method
}І в класах і методах кожного разу створюється об'єкт для роботи з БД(я думаю що це проблема). В інеті пишуть що хорошою манерою є зразу ж закривати ці підключення методами conn.close(), stmt.close(). 
Чи це так має бути? Бо на протязі роботи з програмою, створюються 50, а то і 100 екземплярів підключення. ну я розумію що гарбеджКоллектор їх знищує... але!
Тобто як на більш професійному рівні, організовується реалізація запитів mysql? 
Щиро вдячний всім за допомогу! 
if (Слава Україна) : (смерть корупції)