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データ型が起動する前に、開発者はBLOB、CLOB、またはテキストタイプのフィールドにXMLデータを保存する必要があります。現在、多くの主流のデータベース(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()、SetCraucterStream()を呼び出すか、SetString(String XML)を呼び出すことにより、XMLデータをSQLXMLオブジェクトに追加できます。この機能は、BLOBおよびCLOBタイプの使用に非常に似ていることに注意してください。
JDBC4.0の重要な機能の1つは、avax.xml.transform.resultを設定するクラスの実装を取得できることです。これらのクラスには、Domresult、Jaxbresult、SaxResultが含まれます。言い換えれば、変換せずに次のことを行うことができます。
1. XMLデータを取得します
2。独立したdomResultオブジェクトを作成します
3. domresultをjava.sql.sqlxmlオブジェクトに渡します
4. xmlデータをjava.sql.statementを介して応答データベースフィールドに直接保存します
java.sql.resultsetでSQLXMLタイプデータを取得するには、getSQLXMLを呼び出して対応するフィールド名またはインデックスを指定する必要があります。次に、getBinaryStream()、getCharacterStream()、またはgetString()、または単純な文字列を介してjava.io.inputStreamから実際のXMLデータを取得できます。 XMLデータの保存も同様にXMLデータを取得します。また、SQLXMLオブジェクトインスタンスのGetSource(クラスSourcelass)メソッドを呼び出すことにより、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と互換性があり、埋め込みモードを非常に簡単に使用できます。また、JDBC4を完全にサポートするドライバーを使用するかのように、XMLデータを操作する方法を実証できます。ダービーのXMLデータを操作するために使用されるコードは次のとおりです。
java.io.stringreaderをインポート;インポートjava.sql。*; public class xmldbtester {static final string xml1 = "<ports>"+"<title>最初の記事</title>"+"<著者</著者</著者</著者>"+"<body>非常に短い記事。記事</title> "+" <著者>メアリー・ジョーンズ</著者> "+" <body>別の短い記事。 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のウェブサイトへのご支援ありがとうございます!