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






import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
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 {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    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);
    oos.writeObject(employee);
    byte[] employeeAsBytes = baos.toByteArray();
    PreparedStatement pstmt = dbConn
        .prepareStatement("INSERT INTO EMPLOYEE (emp) VALUES(?)");
    ByteArrayInputStream bais = new ByteArrayInputStream(employeeAsBytes);
    pstmt.setBinaryStream(1, bais, employeeAsBytes.length);
    pstmt.executeUpdate();
    pstmt.close();
    Statement stmt = dbConn.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT emp FROM Employee");
    while (rs.next()) {
      byte[] st = (byte[]) rs.getObject(1);
      ByteArrayInputStream baip = new ByteArrayInputStream(st);
      ObjectInputStream ois = new ObjectInputStream(baip);
      Employee emp = (Employee) ois.readObject();
    }
    stmt.close();
    rs.close();
    dbConn.close();
  }
}

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

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








20.35.Oracle
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