Java SE 6에서 제공하는 많은 새로운 기능과 개선 사항 중에서 Java 프로그램에 데이터베이스 액세스 메커니즘을 제공하는 JDBC 버전이 4.0으로 업그레이드되었음을 언급 할 가치가 있습니다. JSR-221이 코드로 명명 한이 버전은보다 편리한 코드 쓰기 메커니즘 및 유연성을 제공하며 더 많은 데이터 유형을 지원합니다.
JDBC 4.0의 새로운 기능은 다음 4 가지 범주로 나뉩니다.
1. 드라이버 및 연결 관리
2. 예외 처리
3. 데이터 유형 지원
4. API가 변경됩니다
위는이 기사에서 이야기 할 주요 내용이 아닙니다. JDBC4.0에 의해 XML 유형 데이터를 작동하는 방법은 다음과 같습니다. 특정 세부 사항은 다음과 같습니다.
JDBC 4.0이 출시 된 후 다중 문자 기능이 널리 알려져 있습니다. 가장 중요한 업데이트는 XML 데이터 유형을 지원하는 것입니다 (이 데이터 유형은 최신 SQL2003 표준에 정의됩니다). 물론 데이터베이스에 XML 데이터를 저장하고 응용 프로그램에서 XML 데이터를 업데이트하는 것은 새로운 기술이 아닙니다. 그러나 JDBC가 매핑 인터페이스 (java.sql.sqlxml)를 제공 한 것은이 인터페이스를 사용 하여이 인터페이스를 사용하여 SQL/XML 데이터 유형을 지원합니다. 물론 XML 데이터 유형을 처리하는 요구를 충족시키기 위해 Java.SQL.Connection 및 Java.SQL.Resultset과 같은 다른 인터페이스도 업데이트되었습니다.
SQL2003 표준 및 XML 데이터 유형이 시작되기 전에 개발자는 XML 데이터를 Blob, Clob 또는 텍스트 유형 필드에 저장해야합니다. 이제 많은 주류 데이터베이스 (예 : SQL Server, Oracle 및 DB2)가 XML 데이터 유형에 대한 지원을 추가했습니다. 그러나 JDBC4 이전에는 Java 응용 프로그램이 여전히 데이터베이스의 XML 데이터 유형을 JDBC에서 지원하는 데이터 유형으로 변환해야했습니다. 그러나 새로운 JDBC는 로컬 인터페이스를 통해 XML을 바인딩 할 수 있으므로 모든 데이터베이스에서 XML 데이터를 처리하는 것이 더 쉬워지고 효율적입니다.
이 기사에서는 JDBC4.0을 사용하여 XML- 타입 필드 (XML 데이터를 저장하고 얻는)를 조작하고 독자의 참조를위한 예를 제공하는 방법을 소개합니다.
1. XML 데이터를 저장하고 얻습니다
XML- 타입 필드에 XML 데이터를 저장하려면 먼저 java.sql.connection.createsqlxml () 메소드를 호출해야합니다. 이 메소드는 java.sql.sqlxml 인스턴스를 반환합니다. 그런 다음 setoutputStream (), setCharacterStream ()을 호출하거나 SetString (String XML)을 호출하여 SQLXML 객체에 XML 데이터를 추가 할 수 있습니다. 이 기능은 Blob 및 Clob 유형의 사용과 매우 유사합니다.
JDBC4.0의 주요 기능 중 하나는 java.sql.sqlxml의 setResult (class resultclass) 메소드를 호출하여 avax.xml.transform.result를 설정하는 클래스의 구현을 얻을 수 있다는 것입니다. 이 클래스에는 Domresult, Jaxbresult 및 Saxresult가 포함됩니다. 다시 말해, 우리는 변환하지 않고 단순히 다음을 수행 할 수 있습니다.
1. XML 데이터를 가져옵니다
2. 독립적 인 domresult 객체를 만듭니다
3. java.sql.sqlxml 객체로 Domresult를 통과하십시오
4. java.sql.statement를 통해 XML 데이터를 응답 데이터베이스 필드에 직접 저장합니다.
java.sql.resultset에 의해 sqlxml 유형 데이터를 얻으려면 getSqlxml을 호출하고 해당 필드 이름 또는 색인을 지정하면됩니다. 그런 다음 getBinaryStream (), getCharacterStream () 또는 getString () 또는 간단한 문자열을 통해 java.io.inputStream에서 실제 XML 데이터를 얻을 수 있습니다. XML 데이터를 저장하면 XML 데이터도 비슷하게 얻습니다. SQLXML 객체 인스턴스의 getSource (class sourceClass) 메소드를 호출하여 XML 소스를 얻을 수도 있습니다. 따라서 javax.xml.transform.source를 구현하는 클래스의 XML 데이터에 액세스 할 수 있습니다.
2. 예제 프로그램
JDBC4는 2006 년 12 월 11 일 (J2SE6.0으로 출시 됨)에 공식적으로 출시 된 이후로 많은 데이터베이스 드라이버가 JDBC4를 잘 지원하지 않습니다. 이 예에서 Apache Derby 데이터베이스의 버전 10.2는 XML 유형 데이터의 저장 및 획득에 대해 논의하는 데 사용됩니다. 이 버전의 Derby는 아직 java.sql.sqlxml을 보유하지 않으므로 결과 값에서 XML 데이터를 직접 얻을 수 없으며 XML 데이터를 바인딩 할 수 없습니다. 그러나 Derby는 SQL 2003과 호환되며 Embed Mode를 매우 쉽게 사용할 수 있으며 JDBC4를 완전히 지원하는 드라이버를 사용하는 것처럼 XML 데이터를 조작하는 방법을 여전히 보여줄 수 있습니다. Derby의 XML 데이터를 조작하는 데 사용되는 코드는 다음과 같습니다.
import java.io.stringReader; import java.sql.*; public class xmldbtester {static final String xml1 = "<article>"+"<title> 첫 기사 </title>"+"<author> John Smith </author>"+"</body>"</article> "<articl xml = <articl string xml = <articl string xml =" 기사 </title> "+"<author> Mary Jones </author> "+"<body> 또 다른 짧은 기사. </body> "+"</article> "; 정적 최종 문자열 xml3 ="<article> "+"<title> 세 번째 기사 </title> "+"<저자> John Smith </author> "+"<body> 마지막 짧은 기사. "</artical>"; xml2, xml3}; public static void main (string s []) {xmldbtester xdt = new xmldbtester (); Connection C = xdt.getConnection (); xdt.loaddemodata (c); xdt.demoxmlresult (c);위의 것은 JDBC4.0을 사용하여 소개 된 XML 유형 데이터를 작동하는 방법입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!