Я пытаюсь реализовать интерфейс между моим Java-приложением и моей базой данных.Что мне действительно нужно сделать, это вызвать процедуры из разных баз данных с помощью вызываемого оператора.Но база данных должна быть клиент-зависимой, и количество параметров меняется, если я скажу использовать mysql db или oracle db.
Пример:
заголовок mysql proc
CALLPROCEDURE (IN pageid INT, IN direction VARCHAR(20))...
заголовок ora proc
CALLPROCEDURE (IN pageid INT, IN direction VARCHAR(20), OUT resp INT)...
Я решил получить метаданные каждой процедуры через
DatabaseMetaData dbmd = conn.getMetaData();
ResultSet rs = dbmd.getProcedureColumns(DBName, Schema, ProcedureName, null);
У меня также есть HashMap для ColumnName и значения, где я хочу вызывать свои процедуры.
Мой вопрос: как мне эффективно сопоставить эти два?Есть ли библиотека или фреймворк, которые я могу использовать, или мне нужно проходить каждый случай?
Это будет означать:
(code for COLUMN_TYPE IN = 1
-> code for DATA_TYPE VARCHAR = 12
-> cs.setString(...))
и так далее