Store and retrieve an object from a table : Oracle « Database « Java Tutorial

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

public class Main {

  public static void main(String args[]) throws Exception {
    String URL = "jdbc:odbc:dbname";
    Connection dbConn = DriverManager.getConnection(URL, "user", "passw");
    Employee employee = new Employee(42, "AA", 9);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(baos);
    byte[] employeeAsBytes = baos.toByteArray();
    PreparedStatement pstmt = dbConn
        .prepareStatement("INSERT INTO EMPLOYEE (emp) VALUES(?)");
    ByteArrayInputStream bais = new ByteArrayInputStream(employeeAsBytes);
    pstmt.setBinaryStream(1, bais, employeeAsBytes.length);
    Statement stmt = dbConn.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT emp FROM Employee");
    while ( {
      byte[] st = (byte[]) rs.getObject(1);
      ByteArrayInputStream baip = new ByteArrayInputStream(st);
      ObjectInputStream ois = new ObjectInputStream(baip);
      Employee emp = (Employee) ois.readObject();

class Employee implements Serializable {
  int ID;
  String name;
  double salary;

  public Employee(int ID, String name, double salary) {
    this.ID = ID; = name;
    this.salary = salary;

20.35.1.Connect with Oracle's JDBC Thin Driver
20.35.2.Create an Oracle Table to Store Java Types (Using Statement Objects)
20.35.3.Execute Method
20.35.4.Rollback a transaction
20.35.5.Creating an Oracle Table to Store Java Types
20.35.6.Creating a Stored Procedure or Function in an Oracle Database
20.35.7.Create procedure myprocin with an IN parameter named x.
20.35.8.Create procedure myprocout with an OUT parameter named x
20.35.9.Create procedure myprocinout with an IN/OUT parameter named x; x is an IN parameter and an OUT parameter
20.35.10.Create a function named myfunc which returns a VARCHAR value; the function has no parameter
20.35.11.Create a function named myfuncin which returns a VARCHAR value; the function has an IN parameter named x
20.35.12.Create a function named myfuncout which returns a VARCHAR value;
20.35.13.Create a function named myfuncinout that returns a VARCHAR value
20.35.14.Creating an OBJECT Type in an Oracle Database
20.35.15.Inserting an OBJECT Value into an Oracle Table
20.35.16.Get list of stored procedure names
20.35.17.Store and retrieve an object from a table