Calling API Models
Wrapper-API
The Wrapper-API is generated by the Raw JDBC Connector Builder. The methods are directly implemented as static methods without service interfaces. The first parameter is always the connection. The transaction handling must be implemented additionally but allows full control of the transaction handling. Best useage is for multiple complex calls inside one transaction or for integration tests.Java Calling Class :
BinaryTypesWrapperApi.java

package plsql_workbench_examples.rawjdbcwrapper;
import java.sql.Connection;
import java.sql.DriverManager;
import transferobject.BinaryTypesTO;
import wrapper.BinaryTypesWrapper;
public class BinaryTypesWrapperApi {
public static void main(String[] args)
{
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
try (Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.109:1521/orcl",
"dbw_examples",
"dbw_examples"))
{
// calling the stored procedure
BinaryTypesTO binaryTypesTO = BinaryTypesWrapper.call(connection, 1f, 1d, 1);
// print values
System.out.format("%.12f %.12f %d%n",
binaryTypesTO.getOBinFloat(),
binaryTypesTO.getOBinDouble(),
binaryTypesTO.getReturnValue());
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
Factory-API
The Factory-API is be generated from any other PL/SQL Connector Builder other than the Raw JDBC Connector Builder. All configurations are set programmatically. No other depended libraries have to be bound to the project. The configuration settings depends on the connector type. The useage to call the PL/SQL stored procedure is identical for all connector builder types. The factory returns a service interface to invoke the service call to the PL/SQL stored procedure.Java Calling Class :
ScalarTypesFactoryApi.java

package plsql_workbench_examples.factoryapi;
import factory.ExamplesRPCFactory;
import service.ScalarTypesService;
public class ScalarTypesFactoryApi {
public static void main(String[] args)
{
try {
// set database credentials and configuration parameters
System.setProperty("dbw_examples.url", "jdbc:oracle:thin:@192.168.0.109:1521/orcl");
System.setProperty("dbw_examples.username", "dbw_examples");
System.setProperty("dbw_examples.password", "dbw_examples");
// get the service
ScalarTypesService service = ExamplesRPCFactory.getScalarTypesService();
// call the stored procedure and prints the result
int sum = service.addNum(1, 2);
System.out.println("sum:" + sum);
// call the stored procedure and prints the result
String concat = service.concatChar("A", "B");
System.out.println("concat:" + concat);
}
catch (Exception e) {
e.printStackTrace();
}
}
}
Spring-API
The Spring-API is be generated from any other PL/SQL Connector Builder other than the Raw JDBC Connector Builder. All configurations are declared. Of course Spring must be included to the project. The configuration settings depends on the connector type. The useage to call the PL/SQL stored procedure is identical for all connector builder types. The service interface is injected via annotation. Thru the service interface to PL/SQL stored procedure is called.Java Calling Class :
ScalarTypesSpringApi.java

package plsql_workbench_examples.springapi;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.stereotype.Component;
import service.ScalarTypesService;
@Component
public class ScalarTypesSpringApi {
@Autowired
private ScalarTypesService scalarTypesService;
public static void main(String[] args)
{
// set database credentials and configuration parameters
System.setProperty("dbw_examples.url", "jdbc:oracle:thin:@192.168.0.109:1521/orcl");
System.setProperty("dbw_examples.username", "dbw_examples");
System.setProperty("dbw_examples.password", "dbw_examples");
// Register Spring Beans, Spring Context and call demo method
try (GenericApplicationContext ctx = BaseSpringConfig.getCtx(ScalarTypesSpringApi.class)) {
ctx.getBean(ScalarTypesSpringApi.class).runDemo();
}
}
private void runDemo()
{
try {
// call the stored procedure and prints the result
int sum = scalarTypesService.addNum(1, 2);
System.out.println("sum:" + sum);
// call the stored procedure and prints the result
String concat = scalarTypesService.concatChar("A", "B");
System.out.println("concat:" + concat);
}
catch (Exception e) {
e.printStackTrace();
}
}
}