|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 패키지 다음의 패키지 | 프레임 있어 프레임 없음 |
참조처:
설명
클래스의 개요 | |
---|---|
SerialArray | Array 객체의 직렬화 버젼이며, Java 프로그램 언어에서의 SQL ARRAY 치의 매핑입니다. |
SerialBlob | Java 프로그램 언어에서의 SQL BLOB 치의 직렬화 매핑입니다. |
SerialClob | Java 프로그램 언어에서의 SQL CLOB 치의 직렬화 매핑입니다. |
SerialDatalink | Java 프로그램 언어에서의 SQL DATALINK 치의 직렬화 매핑입니다. |
SerialJavaObject | Java 프로그램 언어에서의 SQL JAVA_OBJECT 치의 직렬화 가능 매핑입니다. |
SerialRef | Ref 객체의 직렬화 매핑이며, Java 프로그램 언어에서의 SQL REF 치의 매핑입니다. |
SerialStruct | Java 프로그램 언어에서의 SQL 구조형의 직렬화 매핑입니다. |
SQLInputImpl | 사용자 정의형 (UDT)의 커스텀 매핑용 입력 스트림입니다. |
SQLOutputImpl | 커스텀 맵 된 사용자 정의형 (UDT)의 속성을 데이타베이스에 재차 기입하기 위한 출력 스트림입니다. |
예외의 개요 | |
---|---|
SerialException | DATALINK 나 JAVAOBJECT 에 가세해,BLOB, CLOB, STRUCT, ARRAY 등의 SQL 형의 직렬화 또는 직렬화 복원시의 에러를 나타냅니다. |
Java 프로그램 언어에서의 SQL 형과 데이터형의 직렬화 가능 매핑을 가능하게 하는 유틸리티 클래스를 제공합니다.
표준 JDBC RowSet
구현은, 이러한 유틸리티 클래스를, 미접속의 RowSet
객체를 직렬화하기 위한 보조로서 이용할 수 있습니다. 미접속의 RowSet 를 회선 경유로 다른 VM 에 전송 하거나 어플리케이션내의 레이어간에 전송 하거나 하는 경우에 편리합니다.
RowSet
구현은,RowSet.getURL() 메소드를 사용해, 외부 데이터의 조작용의 java.net.URL
객체를 취득할 수 있습니다. Map
객체가 몇개의 생성자 또는 getAttributes
메소드에게 건네지는 경우, 구조형은,Map
객체로 지정된 매핑에 따라, 커스텀 맵 됩니다. wasNull
메소드가 사용됩니다. Map
객체를 취하는 생성자 또는 취득 메소드가 불려 가면(자), JDBC 드라이버는 SQLData.getSQLType 메소드를 호출해, 커스텀 맵 되는 UDT 의 SQL 형을 확정합니다. 드라이버는,SQLInputImpl
의 인스턴스를 작성해, UDT 의 속성을 이식합니다. 계속되어, 입력 스트림을 SQLData.readSQL 메소드에 건네줍니다. 그러자(면), 이 메소드는,SQLInputImpl 메소드를 호출해, 입력 스트림로부터 속성을 읽어냅니다. writeSQL
메소드에 의해 적절한 SQLOutputImpl 라이터 메소드가 불려 가SQLData
객체로부터 SQLOutputImpl
출력 스트림에, SQL 사용자 정의형의 표현으로서 데이터가 기입해집니다.
프로그래머는,SQLData
인터페이스를 구현하는 것으로써, 매핑을 정의합니다. 예를 들어, NAME, TITLE, PUBLISHER 의 각 속성을 가지는, AUTHORS 라고 하는 SQL 구조형이 있다고 합니다. 이 SQL 구조형은, Authors 라는 이름의 Java 클래스에 맵 됩니다. Authors 클래스에는, AUTHORS 의 각 속성에 대응하는 필드, name, title, publisher 를 갖게할 수가 있습니다. 이 경우,SQLData
의 구현은 다음의 예에 같게 됩니다.
public class Authors implements SQLData { public String name; public String title; public String publisher; private String sql_type; public String getSQLTypeName() { return sql_type; } public void readSQL(SQLInput stream, String type) throws SQLException { sql_type = type; name = stream.readString(); title = stream.readString(); publisher = stream.readString(); } public void writeSQL(SQLOutput stream) throws SQLException { stream.writeString(name); stream.writeString(title); stream.writeString(publisher); } }
java.util.Map
객체는, SQL 구조형과 Authors
클래스의 매핑의 관련지어에 사용되고 있습니다. 다음의 코드의 발췌에서는,Map
객체를 작성해,AUTHORS
와 Authors
를 관련짓는 엔트리를 지정합니다.
java.util.Map map = new java.util.HashMap(); map.put("SCHEMA_NAME.AUTHORS", Class.forName("Authors");
Map
객체 map 에, SQL 구조형의 완전 수식명과 Authors
클래스의 Class
객체로부터 완성되는 엔트리가 추가됩니다. 이 엔트리가 메소드에게 건네지는 것으로, 드라이버는,AUTHORS
와 Authors
의 매핑의 관계를 파악할 수 있습니다.
미접속의 RowSet
객체의 경우, 커스텀 매핑을 실시하는 생성자 또는 메소드에 Map
객체가 건네받았을 경우에게만, 커스텀 매핑을 합니다. 접속이 끝난 RowSet
객체의 경우, 데이터 소스와의 접속이 확보되고 있으므로, 상황은 다릅니다. 커스텀 매핑을 실시하는 메소드가 미접속의 RowSet
객체에 의해 불려 가면(자), 이 메소드는, 사용되는 Connection
객체에 관련지을 수 있었던 Map
객체를 사용합니다. 즉, 맵을 지정하지 않는 경우, 디폴트로서 접속의 형태 맵이 사용됩니다.
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 패키지 다음의 패키지 | 프레임 있어 프레임 없음 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.