Die Klasse DepartmentDataTest zeigt, wie auf die Tabelle DEPARTMENT zugegriffen wird. Diese von pureQuery generierte Klasse veranschaulicht den Programmierstil der mit Annotationen versehenen Methode.
Sie können über die Methode newAnnot, für die ein Refactoring ausgeführt wurde, eine gespeicherte Java-Prozedur erstellen. Die Prozedur, die Sie über diese Methode erstellen, wird dynamisch ausgeführt, weil keine Pakete vorliegen.
package ANNOTATED; //Imports import java.util.Iterator; import pureQuery.example.SampleUtil; import com.ibm.pdq.runtime.Data; import com.ibm.pdq.runtime.ResultIterator; import com.ibm.pdq.runtime.factory.DataFactory; import java.sql.*; public class DepartmentDataTest { public static void newAnnot(String[] s) throws SQLException,Exception { Connection con = DriverManager.getConnection("jdbc:default:connection"); DepartmentData d = DataFactory.getData(DepartmentData.class, con); Iterator<Department> departments = d.getDepartments(); if(departments.hasNext()){ Department dept = departments.next(); s[0] = dept.getDeptname(); } } /** * @param args */ public static void main(String[] args) { DepartmentData data = null; try { if (args.length < 1) { SampleUtil.println("All required arguments were not provided."); return; } data = SampleUtil.getData( DepartmentData.class, "jdbc:db2://iicriollo3.svl.ibm.com:50000/SAMPLE:retrieveMessagesFromServerOnGetMessage=true;", "db2admin", args[0]); ((Data) data).setAutoCommit(false); Iterator<Department> getDepartments = data.getDepartments(); Department bean = null; if (getDepartments.hasNext()) { bean = getDepartments.next(); ((ResultIterator<Department>) getDepartments).close(); } else { SampleUtil.println("Result set is empty."); ((Data) data).rollback(); return; } getDepartments = data.getDepartments(); SampleUtil.println("Results for getDepartments()"); SampleUtil.printAll(getDepartments); Department getDepartment = null; ((Data) data).commit(); } catch (Exception exp) { SampleUtil.println(exp.getMessage()); SampleUtil.println(exp.toString()); if (data != null) ((Data) data).rollback(); } finally { if (data != null) ((Data) data).close(); } } } }