我正在尝试在Java应用程序和数据库之间实现接口。 我实际上需要做的是通过可调用语句从不同数据库调用过程。 但是数据库必须依赖于客户端,并且如果我说使用mysql db或oracle db,则参数的数量会发生变化。
示例:
header mysql proc
CALLPROCEDURE (IN pageid INT, IN direction VARCHAR(20))...
header 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);
我还有一个ColumnName和Value的HashMap,我想在其中调用我的过程。
我的问题: 我如何有效地映射这两个? 是否有我可以使用的lib或框架,或者我必须经历每种情况?
那将意味着:
(code for COLUMN_TYPE IN = 1
-> code for DATA_TYPE VARCHAR = 12
-> cs.setString(...))
以此类推