The DepartmentInlineSample class shows how to access the DEPARTMENT table inline. This class, which was generated by pureQuery, shows the inline-method style of programming and contains suggestions and samples for CREATE, INSERT, UPDATE, and DELETE statements.
You can create a Java stored procedure from the refactored newInline method.
package INLINE;
// Imports
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Iterator;
import com.ibm.pdq.runtime.Data;
import pureQuery.example.SampleUtil;
import com.ibm.pdq.runtime.ResultIterator;
import com.ibm.pdq.runtime.factory.DataFactory;
import java.sql.*;
public class DepartmentInlineSample {
public static void newInline(ResultSet[] rs) throws SQLException,Exception{
Connection con = DriverManager.getConnection("jdbc:default:connection");
Data d = DataFactory.getData(con);
rs[0] = d.queryResults(
"SELECT DEPTNO, DEPTNAME, MGRNO, ADMRDEPT, LOCATION"
+ " FROM DEPARTMENT");
}
public static Data db = null;
/**
* @param args
*/
public static void main(String[] args) {
try {
if (args.length < 1) {
SampleUtil.println("All required arguments were not provided.");
return;
}
db = SampleUtil.getData(
"jdbc:db2://iicriollo3.svl.ibm.com:50000/SAMPLE:retrieveMessagesFromServerOnGetMessage=true;",
"db2admin", args[0]);
db.setAutoCommit(false);
Iterator<Department> getDepartments = db.queryIterator(
"SELECT DEPTNO, DEPTNAME, MGRNO, ADMRDEPT, LOCATION"
+ " FROM DEPARTMENT",
Department.class);
Department bean = null;
if (getDepartments.hasNext()) {
bean = getDepartments.next();
((ResultIterator<Department>) getDepartments).close();
} else {
SampleUtil.println("Result set is empty.");
db.rollback();
return;
}
Department getDepartment = db.queryFirst(
"SELECT DEPTNO, DEPTNAME, MGRNO, ADMRDEPT, LOCATION"
+ " FROM DEPARTMENT"
+ " WHERE DEPTNO = :deptno",
Department.class, bean);
SampleUtil.printClass(getDepartment);
db.update(
"UPDATE DEPARTMENT"
+ " SET DEPTNO = :deptno, DEPTNAME = :deptname, MGRNO = :mgrno,"
+ " ADMRDEPT = :admrdept, LOCATION = :location"
+ " WHERE DEPTNO = :deptno",
bean);
getDepartments = db.queryIterator(
"SELECT DEPTNO, DEPTNAME, MGRNO, ADMRDEPT, LOCATION"
+ " FROM DEPARTMENT",
Department.class);
SampleUtil.println("Results for update (bean)");
SampleUtil.printAll(getDepartments);
db.update("DELETE FROM DEPARTMENT"
+ " WHERE DEPTNO = :deptno", bean);
getDepartments = db.queryIterator(
"SELECT DEPTNO, DEPTNAME, MGRNO, ADMRDEPT, LOCATION"
+ " FROM DEPARTMENT",
Department.class);
SampleUtil.println("Results for - delete (?)");
SampleUtil.printAll(getDepartments);
db.update(
"INSERT INTO DEPARTMENT (DEPTNO, DEPTNAME, MGRNO, ADMRDEPT, LOCATION)"
+ " VALUES (:deptno, :deptname, :mgrno, :admrdept, :location)",
bean);
getDepartments = db.queryIterator(
"SELECT DEPTNO, DEPTNAME, MGRNO, ADMRDEPT, LOCATION"
+ " FROM DEPARTMENT",
Department.class);
SampleUtil.println("Results for - insert (bean)");
SampleUtil.printAll(getDepartments);
db.commit();
} catch (Exception exp) {
SampleUtil.println(exp.getMessage());
SampleUtil.println(exp.toString());
if (db != null)
db.rollback();
} finally {
if (db != null)
db.close();
}
}
}