Отделение 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
}
Есть ли способ сделать это? Или мы должны просто добавить функциональность для разных видов вставки, запросов и т. Д.?
Спасибо!