
Генератор исходного кода Java, который создает классы вызова для процедур пакетов Oracle PL/SQL, поддерживая различные типы параметров и автоматическое преобразование типов.
OBridge предоставляет простой генератор исходного кода на Java для вызова процедур PL/SQL пакетов Oracle.
Поддерживаются следующие типы входных, выходных параметров и возвращаемых значений:
Следующие типы не могут быть реализованы, поскольку JDBC-драйвер их не поддерживает:
Сгенерированный код компилируется с Java 1.6.
Загрузите последнюю версию из релизов.
После загрузки создайте XML-файл конфигурации:
<configuration>
<jdbcUrl>jdbc:oracle:thin:scott/tiger@localhost:1521:xe</jdbcUrl> <!-- строка подключения JDBC для obridge -->
<sourceRoot>.</sourceRoot> <!-- куда генерировать исходники — относительно этого файла конфигурации -->
<rootPackageName>hu.obridge.test</rootPackageName> <!-- корневой Java-пакет — генератор строит структуру каталогов -->
<packages>
<entityObjects>objects</entityObjects> <!-- объектные типы попадут в этот пакет -->
<converterObjects>converters</converterObjects> <!-- классы-утилиты конвертации попадут в этот пакет -->
<procedureContextObjects>context</procedureContextObjects> <!-- сущности параметров процедур попадут в этот пакет -->
<packageObjects>packages</packageObjects> <!-- классы-утилиты для вызова процедур попадут в этот пакет -->
</packages>
</configuration>
Запустите генератор:
java -jar obridge.jar -c <obridge-config.xml>
OBridge подключается к указанной базе данных и генерирует необходимые классы.
Например, у вас есть следующий PL/SQL код:
Create Or Replace Package simple_procedures is
Function simple_func(a In Varchar2,
b In Out Varchar2,
c Out Varchar2) Return Number;
End simple_procedures;
Сгенерированный исходный код:
public class SimpleProcedures {
public static SimpleProceduresSimpleFunc simpleFunc(String a, String b, Connection connection) throws SQLException { ... }
}
Вы можете вызвать метод SimpleProcedures.simpleFunc:
SimpleProceduresSimpleFunc ret = SimpleProcedures.simpleFunc("hello", "world", conn); // conn — подключение к БД
Возвращаемый объект будет содержать входные и выходные параметры, преобразованные в типы Java.
public class SimpleProceduresSimpleFunc {
private BigDecimal functionReturn;
private String a;
private String b;
private String c;
// геттеры, сеттеры
}