Java tutorial
import java.io.Serializable; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLData; import java.sql.SQLException; import java.sql.SQLInput; import java.sql.SQLOutput; public class InsertCustomType_Oracle { public static Connection getConnection() throws Exception { String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@localhost:1521:databaseName"; String username = "userName"; String password = "pass"; Class.forName(driver); // load Oracle driver return DriverManager.getConnection(url, username, password); } public static void main(String[] args) { String id = "001"; String isbn = "1234567890"; String title = "java demo"; String author = "java2s"; int edition = 1; Connection conn = null; PreparedStatement pstmt = null; try { conn = getConnection(); String insert = "insert into book_table values(?, BOOK(?, ?, ?, ?))"; pstmt = conn.prepareStatement(insert); pstmt.setString(1, id); pstmt.setString(2, isbn); pstmt.setString(3, title); pstmt.setString(4, author); pstmt.setInt(5, edition); pstmt.executeUpdate(); } catch (Exception e) { e.printStackTrace(); System.exit(1); } finally { try { pstmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } /** * A class to hold a copy of "BOOK" data type */ class Book implements SQLData, Serializable { public static final String SQL_TYPE_NAME = "BOOK"; public String isbn; public String title; public String author; public int edition; public Book() { } public Book(String isbn, String title, String author, int edition) { this.isbn = isbn; this.title = title; this.author = author; this.edition = edition; } // retrieves the fully qualified name of the SQL // user-defined type that this object represents. public String getSQLTypeName() { return SQL_TYPE_NAME; } // populates this object with data it reads from stream public void readSQL(SQLInput stream, String sqlType) throws SQLException { this.isbn = stream.readString(); this.title = stream.readString(); this.author = stream.readString(); this.edition = stream.readInt(); } // writes this object to stream public void writeSQL(SQLOutput stream) throws SQLException { stream.writeString(this.isbn); stream.writeString(this.title); stream.writeString(this.author); stream.writeInt(this.edition); } public void print() { System.out.println("isbn=" + isbn); System.out.println("title=" + title); System.out.println("author=" + author); System.out.println("edition=" + edition); } }