JDBC4.0을 사용하여 XML 유형의 필드(xml 데이터 가져오기 저장)를 조작하는 방법

3977 단어 jdbc4.0xml
Java SE 6가 제공하는 많은 새로운 기능과 개선 중에서 특히 Java 프로그램에 데이터베이스 접근 메커니즘을 제공하는 JDBC 버전은 4.0으로 업그레이드되었다. 이 JSR-221을 대명사로 하는 버전은 더욱 편리한 코드 작성 메커니즘과 유연성을 제공하고 더 많은 데이터 형식을 지원한다.
JDBC 4.0의 새로운 기능은 다음과 같습니다.
1. 구동 및 연결 관리
2. 예외 처리
3. 데이터 유형 지원
4. API의 변화
위에서 말한 것은 본고가 말하고자 하는 중점적인 내용이 아니다. 다음은 jdbc4.0이 xml 형식의 데이터를 조작하는 방법을 소개한다. 구체적인 상세한 상황은 다음과 같다.
JDBC4.0이 출시된 후, 종다의 특성이 광범위하게 주목받고 있다.가장 중요한 업데이트는 XML 데이터 형식(최신 SQL2003 표준에 정의된 데이터 형식)을 지원하는 것이다. 물론 XML 데이터를 데이터베이스에 저장하고 응용 프로그램에서 XML 데이터를 업데이트하는 것은 신기술이 아니다.그러나 JDBC가 처음으로 매핑 인터페이스 (java.sql.SQLXML) 를 제공하고 이 인터페이스를 이용하여 SQL/XML 데이터 형식을 지원한다.물론 XML 데이터 형식을 처리하는 데 필요한 다른 인터페이스, 예를 들어java.sql.Connection 및java.sql.ResultSet, 업데이트되었습니다.
개발자는 SQL2003 표준 및 XML 데이터 유형이 출시되기 전에 XML 데이터를 BLOB, CLOB 또는 TEXT 유형 필드에 저장해야 합니다.현재 많은 주류 데이터베이스(예를 들어 SQL Server, Oracle 및 DB2)가 XML 데이터 형식에 대한 지원을 추가했다.그러나 JDBC4 이전에도 Java 응용 프로그램은 데이터베이스의 XML 데이터 형식을 JDBC가 지원하는 데이터 형식으로 변환해야 했습니다.그러나 새로운 JDBC는 로컬 인터페이스를 통해 XML을 연결할 수 있기 때문에 모든 데이터베이스에서 XML 데이터를 처리하는 것이 더욱 쉽고 효율적이다.
본고는 JDBC4.0으로 XML 형식의 필드를 조작하는 방법(XML 데이터를 저장하고 얻는 방법)을 소개하고 독자들이 참고할 수 있도록 예를 제시한다.
1. XML 데이터 저장 및 얻기
XML 데이터를 XML 형식의 필드에 저장하기 위해서, 우리는 우선java를 호출해야 한다.sql.Connection.createSQLXML() 메서드.이 방법은 자바로 돌아왔다.sql.SQLXML의 인스턴스입니다.그리고 우리는 setOutputStream (), setCharacterStream () 을 호출하거나 setString (String xml) 을 간단하게 호출하여 XML 데이터를 SQLXML 대상에 추가할 수 있다.주의해야 할 이 기능은 BLOB와 CLOB 유형의 사용과 매우 유사하다.
JDBC4.0의 주요 특징 중 하나는 우리가 자바를 호출할 수 있다는 것이다.sql.SQLXML의 setResult(Class resultClass) 방법으로 avax를 설정합니다.xml.transform.Result 클래스의 구현이 클래스에는 DOMREsult, JAXBREsult 및 SAXResult가 포함됩니다.다시 말하면 우리는 전환 없이 간단하게 다음과 같은 일을 할 수 있다.
1. XML 데이터 얻기
2. 독립형 DOMREsult 객체 만들기
3. DOMREsult를 java에 전송합니다.sql.SQLXML 객체
4. 직접 자바를 통과합니다.sql.Statement 응답 데이터베이스 필드에 XML 데이터 저장
자바를 위해.sql.ResultSet은 SQLXML 형식의 데이터를 얻을 수 있습니다. 우리는 getSQLXML을 호출하고 해당하는 필드 이름이나 색인을 지정하기만 하면 됩니다.그리고 우리는 getBinarystream (), getCharacter Stream () 또는 getString () 을 통해java에서io.InputStream에서 실제 XML 데이터나 간단한 문자열을 얻을 수 있습니다.XML 데이터를 저장하는 것도 XML 데이터를 얻는 과정과 유사하다. 우리는 SQLXML 대상의 실례를 호출하는 getSource(Class source Class) 방법을 통해 XML 원본을 얻을 수 있기 때문에 자바x를 실현할 수 있다.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과 호환되어 끼워넣기 모드를 쉽게 사용할 수 있습니다. 이것은 마치 JDBC4를 완전히 지원하는 드라이브를 사용하는 것처럼 XML 데이터를 조작하는 방법을 보여 줍니다.Derby 작업을 위한 XML 데이터의 코드는 다음과 같습니다.

import java.io.StringReader;
import java.sql.*;
public class XmlDbTester
{
static final String XML1 =
"<article>"+
"<title>First Article</title>"+
"<author>John Smith</author>"+
"<body>A very short article.</body>"+
"</article>";
static final String XML2 =
"<article>"+
"<title>Second Article</title>"+
"<author>Mary Jones</author>"+
"<body>Another short article.</body>"+
"</article>";
static final String XML3 =
"<article>"+
"<title>Third Article</title>"+
"<author>John Smith</author>"+
"<body>Last short article.</body>"+
"</article>";
static final String[] ARTICLES = {XML1, 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 형식의 데이터를 조작하는 방법입니다. 여러분께 도움이 되었으면 합니다. 궁금한 점이 있으면 저에게 메시지를 남겨 주십시오. 편집자는 제때에 답장을 드리겠습니다.여기에서도 저희 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기