Parmi les nombreuses nouvelles fonctionnalités et améliorations fournies par Java SE 6, il convient de mentionner que la version JDBC qui fournit un mécanisme d'accès aux bases de données pour les programmes Java a été mise à niveau en 4.0. Cette version, nommée par JSR-221, fournit un mécanisme et une flexibilité de rédaction de code plus pratique et prend en charge plus de types de données.
Les nouvelles fonctionnalités de JDBC 4.0 sont divisées en quatre catégories suivantes:
1. Gestion des conducteurs et des connexions
2. Gestion des exceptions
3. Prise en charge du type de données
4. Modifications de l'API
Ce qui précède n'est pas le contenu clé dont cet article parlera. Voici un moyen de faire fonctionner les données de type XML par JDBC4.0. Les détails spécifiques sont les suivants:
Après le lancement de JDBC 4.0, ses fonctionnalités à plusieurs caractères reçoivent une attention généralisée. La mise à jour la plus importante est de prendre en charge les types de données XML (ce type de données est défini dans la dernière norme SQL2003). Bien sûr, l'enregistrement des données XML dans une base de données et la mise à jour des données XML dans les applications n'est pas une nouvelle technologie. Mais c'est la première fois que JDBC fournit une interface de mappage (java.sql.sqlxml) et utilise cette interface pour prendre en charge les types de données SQL / XML. Bien sûr, afin de répondre aux besoins de la gestion des types de données XML, d'autres interfaces, telles que Java.Sql.Connection et Java.Sql.ResultSet, ont également été mises à jour.
Avant le lancement des types de données standard et XML SQL2003, les développeurs doivent enregistrer les données XML dans les champs BLOB, CLOB ou de type de texte. Désormais, de nombreuses bases de données grand public (telles que SQL Server, Oracle et DB2) ont ajouté la prise en charge des types de données XML. Mais avant JDBC4, les applications Java devaient encore convertir les types de données XML dans la base de données en types de données pris en charge par JDBC. Mais le nouveau JDBC peut lier XML via une interface locale, il devient donc plus facile et plus efficace de traiter les données XML dans n'importe quelle base de données.
Dans cet article, nous présenterons comment utiliser JDBC4.0 pour manipuler les champs de type XML (enregistrer et obtenir des données XML), et donner un exemple pour la référence des lecteurs.
1. Stocker et obtenir des données XML
Afin d'enregistrer les données XML dans un champ de type XML, nous devons d'abord appeler la méthode java.sql.connection.cretesqlxml (). Cette méthode renvoie une instance de java.sql.sqlxml. Nous pouvons ensuite ajouter des données XML à l'objet SQLXML en appelant setOutputStream (), setCharAtteTtream () ou simplement appeler setString (String XML). Cette fonction doit être notée est très similaire à l'utilisation des types de blob et de CLOB.
L'une des principales caractéristiques de JDBC4.0 est que nous pouvons également obtenir une implémentation d'une classe qui définit AVAX.xml.transform.result en appelant la méthode setResult (classe Résultat) de java.sql.sqlxml. Ces classes incluent Domresult, Jaxbresult et saxresult. En d'autres termes, nous pouvons simplement faire ce qui suit sans convertir:
1. Obtenez des données XML
2. Créez un objet domersult indépendant
3. Passe Domersult dans l'objet Java.Sql.Sqlxml
4. Enregistrer les données XML directement dans le champ de la base de données de réponse via Java.sql.statement
Afin d'obtenir des données de type SQLXML par java.sql.resultSet, nous devons seulement appeler getsqlxml et spécifier le nom ou l'index de champ correspondant. Ensuite, nous pouvons obtenir les données XML réelles de Java.io.InputStream via getBinaryStream (), GetCaclActersTream () ou GetString (), ou une simple chaîne. L'enregistrement des données XML obtient également des données XML de la même manière. Nous pouvons également obtenir la source XML en appelant la méthode GetSource (classe SourceClass) de l'instance d'objet SQLXML. Par conséquent, nous pouvons accéder aux données XML à partir de n'importe quelle classe qui implémente javax.xml.transform.source.
2. Exemple de programme
Depuis que JDBC4 a été officiellement publié le 11 décembre 2006 (publié avec J2SE6.0), de nombreux pilotes de base de données ne prennent désormais pas en charge JDBC4. Dans cet exemple, une version 10.2 de la base de données du derby Apache est utilisée pour discuter du stockage et de l'acquisition des données de type XML. Cette version de Derby ne contient pas encore java.sql.sqlxml, ce qui signifie que nous ne pouvons pas obtenir directement des données XML à partir de la valeur de résultat et lier les données XML. Mais Derby est compatible avec SQL 2003 et peut utiliser le mode intégralité très facilement, et il peut toujours démontrer comment manipuler les données XML, comme si elle utilise un pilote qui prend en charge JDBC4. Le code utilisé pour manipuler les données XML de Derby est la suivante:
Importer java.io.stringReader; Importer java.sql. *; classe publique XMLDBTESTER {chaîne finale statique xml1 = "<article>" + "<Title> Premier article </TITAL>" + "<auteur> John Smith </auteur>" + "<pody> Un très court article. </body>" + "</ Article>"; String final statique xml2 = "</" + " Article </Title> "+" <auteur> Mary Jones </IDORGMED> "+" <Body> Un autre court article. </body> "+" </brack> "; chaîne finale statique xml3 =" <article> "+" <Title> Troisième article </TITAGE> "+" <auteur> John Smith </ auteur> "+" <pital> Last Short Article. </body> "+" </ Article> "; STATIC FINAL STROCK [] STROCK [] STROCKS = {xml1," </leticle> "; STATIC FINAL STROCK FINAL [] STROCK [] STRICles = {xml1," </leticle> "; STATIQUE FINAL STROCK [] STORME FINAL []. Xml2, xml3}; public static void main (String s []) {xmldBtter xdt = new XMLDBTESTER (); connexion c = xdt.getConnection (); xdt.loadDemodata (c); xdt.demoxmlresult (c);Ce qui précède est la méthode d'utilisation de JDBC4.0 pour faire fonctionner les données de type XML présentées. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!