我正在开发一个基于 Java 的项目,其中的事情是通过以下方式实现的
- 有一些类(A、B、C、D....)将 Hash Map 的键作为整数,将值作为字符串的数组列表。arraylist 中的每个 String 元素都是一个 Oracle SQL 查询(INSERT 或 UPDATE)
- 这些类(A、B、C、D....)的方法在 Map 中循环。使用 JDBC 语句 ( ) 将特定键的所有 SQL 查询添加到批处理中
**stmt.addBatch(String)**
。对于每个唯一键,都会创建和执行一个单独的批处理。 - 有许多类(X,Y,Z ...)正在填充此 Map 和字符串数组列表以放置不同的 INSERT 和 UPDATE 查询
现在,我需要为一些键添加一个 Oracle 过程调用,因此应该将它们添加到相应键的字符串数组列表中。
我尝试添加以下字符串来调用程序,但似乎没有人适合我。
1. EXEC INSERT_AUTONUMBER_DATA(......)
2. BEGIN INSERT_AUTONUMBER_DATA(........) END;
我不想修改很多代码,因为它可能会影响其他领域。
我可以在批处理中添加一个可调用语句,但是为此,我需要修改负责准备批处理的所有方法和类,这些方法和类在我的项目中大约 15 个(项目设计不是很好),另外我会必须编写一个标识过程调用的条件,以便我将准备一个可调用语句而不是语句。
有没有其他方法可以做到这一点,而不改变执行批次的类?