Отделение SQL от кода Java

Это проблема, с которой я всегда сталкиваюсь, когда мне нужно подключиться к базе данных; как отделить SQL от обычного кода Java? Я обычно использую отдельный класс для соединений с БД, однако, когда у вас есть несколько баз данных и несколько таблиц в каждой базе данных, это всегда трудно сделать на 100%.

Например, если мы хотим поместить все Java-SQL в класс с именем DBConnector.java, как мы будем кодировать в общем случае для различных вставок, удалений, извлечения данных и т. Д.? То, что я считаю идеальным случаем, состоит в том, что все операторы SQL должны быть в одном классе и должны быть совместимы с различными разновидностями одной и той же операции в рамках приложения базы данных, обеспечивая таким образом логическое отделение от остальной части кода.

public void insertData (String db, String table, <Whatever Fields to be Inserted>)
{
  //generic SQL INSERT statement and execution 
}

public ResultSet retrieveData (String db, String table, <Whatever Fields Relevant>) 
{
  //generic retrieval of data
}

Есть ли способ сделать это? Или мы должны просто добавить функциональность для разных видов вставки, запросов и т. Д.?

Спасибо!

Ответы на вопрос(4)

Ваш ответ на вопрос