Unter den vielen neuen Funktionen und Verbesserungen von Java SE 6 ist erwähnenswert, dass die JDBC -Version, die den Datenbankzugriffsmechanismus für Java -Programme bietet, auf 4.0 aktualisiert wurde. Diese von JSR-221 mit dem Codenamen Codenamen bequeme Mechanismus und Flexibilität für den Code-Schreibkreis bietet mehr Datentypen.
Die neuen Merkmale von JDBC 4.0 sind in die folgenden vier Kategorien unterteilt:
1. Treiber- und Verbindungsmanagement
2. Ausnahmehandling
3.. Datentypunterstützung
4. API ändert sich
Das obige ist nicht der Schlüsselinhalt, über den dieser Artikel sprechen wird. Hier finden Sie eine Möglichkeit, XML -Typdaten mit JDBC4.0 zu betreiben. Die spezifischen Details sind wie folgt:
Nach dem Start von JDBC 4.0 erhalten die Multi-Charakter-Funktionen weit verbreitete Aufmerksamkeit. Das wichtigste Update ist die Unterstützung von XML -Datentypen (dieser Datentyp ist im neuesten SQL2003 -Standard definiert). Natürlich ist das Speichern von XML -Daten in einer Datenbank und das Aktualisieren von XML -Daten in Anwendungen keine neue Technologie. Dies ist jedoch das erste Mal, dass JDBC eine Zuordnungsinterface (java.sql.sqlxml) bereitstellt und diese Schnittstelle verwendet, um SQL/XML -Datentypen zu unterstützen. Um die Bedürfnisse der Bearbeitung von XML -Datentypen zu erfüllen, wurden auch andere Schnittstellen wie java.sql.connection und java.sql.resultset aktualisiert.
Bevor die SQL2003 -Standard- und XML -Datentypen gestartet werden, müssen Entwickler XML -Daten in den Feldern Blob, CLOB oder Texttyp speichern. Jetzt haben viele Mainstream -Datenbanken (wie SQL Server, Oracle und DB2) die Unterstützung für XML -Datentypen hinzugefügt. Vor JDBC4 mussten Java -Anwendungen jedoch noch XML -Datentypen in der Datenbank in von JDBC unterstützte Datentypen konvertieren. Das neue JDBC kann XML jedoch über eine lokale Schnittstelle binden, sodass es einfacher und effizienter wird, XML -Daten in jeder Datenbank zu verarbeiten.
In diesem Artikel werden wir vorstellen, wie Sie JDBC4.0 verwenden, um XML-Type zu manipulieren (XML-Daten speichern und erhalten) und ein Beispiel für die Referenz der Leser geben.
1. Speichern und erhalten Sie XML -Daten
Um XML-Daten in einem Feld vom XML-Typ zu speichern, sollten wir zunächst die Methode java.sql.connection.createSQLXML () aufrufen. Diese Methode gibt eine Instanz von java.sql.sqlxml zurück. Wir können dann XML -Daten zum SQLXML -Objekt hinzufügen, indem wir setOutputStream (), setCharacterstream () oder einfach setString (String XML) aufrufen. Diese Funktion sollte beachtet werden, ist der Verwendung von Blob- und Clob -Typen sehr ähnlich.
Eines der wichtigsten Merkmale von JDBC4.0 ist, dass wir auch eine Implementierung einer Klasse erhalten können, die avax.xml.transform.result festlegt, indem wir die Methode SetResult (Class -Ergebnisklasse) von Java.sql.sqlxml aufrufen. Diese Klassen umfassen DomResult, Jaxbresult und Saxresult. Mit anderen Worten, wir können einfach das Folgende ohne Konvertierung tun:
1. Erhalten Sie XML -Daten
2. Erstellen Sie ein unabhängiges DomResult -Objekt
3.. DomResult in Java.sql.sqlxml Objekt übergeben
4. Speichern Sie XML -Daten direkt in das Feld der Antwortdatenbank über java.sql.statement
Um SQLXML -Typdaten von java.sql.resultset zu erhalten, müssen wir nur den entsprechenden Feldnamen oder den entsprechenden Feldname oder den entsprechenden Index angeben. Anschließend können wir die tatsächlichen XML -Daten von Java.io.inputStream über getBinaryStream (), getCharacterstream () oder getString () oder eine einfache Zeichenfolge abrufen. Durch das Speichern von XML -Daten wird auch XML -Daten ähnlich abgerufen. Wir können auch die XML -Quelle erhalten, indem wir die Methode Getource (Klasse SourceClass) der SQLXML -Objektinstanz aufrufen. Daher können wir auf die XML -Daten aus jeder Klasse zugreifen, die javax.xml.transform.source implementiert.
2. Beispielprogramm
Da JDBC4 am 11. Dezember 2006 offiziell veröffentlicht wurde (veröffentlicht mit J2SE6.0), unterstützen viele Datenbanktreiber jetzt nicht sehr gut JDBC4. In diesem Beispiel wird eine Version 10.2 der Apache-Derby-Datenbank verwendet, um den Speicher und Erwerb von XML-Typ-Daten zu diskutieren. Diese Version von Derby enthält noch nicht java.sql.sqlxml, was bedeutet, dass wir XML -Daten nicht direkt aus dem Ergebniswert erhalten und XML -Daten binden können. Derby ist jedoch mit SQL 2003 kompatibel und kann den Embett -Modus sehr einfach verwenden. Es kann weiterhin zeigen, wie XML -Daten manipuliert werden können, als ob sie einen Treiber verwenden, der JDBC4 vollständig unterstützt. Der Code, mit dem die XML -Daten des Derby verwendet werden, lautet wie folgt:
Java.io.StringReader importieren; java.sql.*; public class xmldbtester {statische endgültige String xml1 = "<Aktion>"+"<Titel> Erster Artikel </title>"+"<autor> John Smith </Author>"+"<body> ein sehr kurzer Artikel. Artikel </title> "+" <autor> Mary Jones </Author> "+" <Body> Ein weiterer kurzer Artikel. </Body> "+" </article> "; Xml2, xml3}; public static void main (String s []) {xmldbtester xdt = new Xmldbtester (); Verbindung c = xdt.getConnection (); xdt.loadDemodata (c); xdt.demoxmlresult (c);Die obige Methode ist die Methode zur Verwendung von JDBC4.0, um Ihnen XML-Typ-Daten zu bedienen, die Ihnen eingeführt wurden. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!