Java/XML/XML Database

Материал из Java эксперт
Перейти к: навигация, поиск

XML Databases and Tools 1: read from clob

   <source lang="java">

import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class MainClass {

 public static void main(String[] args) {
   try {
     Class.forName("COM.cloudscape.core.JDBCDriver").newInstance();
     Connection conn = DriverManager.getConnection("jdbc:cloudscape:GAMETRADER");
     Statement s = conn.createStatement();
     ResultSet rs = s.executeQuery("SELECT * FROM tableName");
     while (rs.next()) {
       int id = rs.getInt("ID");
       InputStream bis = rs.getAsciiStream("MANUAL");
       ByteArrayOutputStream bos = new ByteArrayOutputStream();
       int ch = 0;
       while ((ch = bis.read()) != -1)
         bos.write(ch);
       System.out.println("GAMEID: " + id + "\n" + "MANUAL: " + new String(bos.toByteArray()));
     }
   } catch (Throwable e) {
     System.out.println("exception thrown");
     System.out.println(e);
   }
 }

}


      </source>
   
  
 
  



XML Databases and Tools 2: read from blob

   <source lang="java">

import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.Statement; public class MainClass {

 public static void main(String[] args) throws Exception{
     Class.forName("COM.cloudscape.core.JDBCDriver").newInstance();
     Connection conn = DriverManager.getConnection("jdbc:cloudscape:GAMETRADER");
     conn.setAutoCommit(false);
     Statement s = conn.createStatement();
     s.executeUpdate("CREATE TABLE MANUALS(GAMEID INT, MANUAL LONG VARCHAR)");
     conn.rumit();
     File file = new File("manuals.xml");
     InputStream is = new FileInputStream(file);
     PreparedStatement ps = conn.prepareStatement("INSERT INTO MANUALS VALUES(?,?)");
     ps.setInt(1, 1285757);
     ps.setAsciiStream(2, is, (int) file.length());
     ps.execute();
     conn.rumit();
 }

}

      </source>
   
  
 
  



XML Databases and Tools 3

   <source lang="java">

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import org.w3c.dom.Document; import com.sun.org.apache.xml.internal.serialize.XMLSerializer; public class MainClass {

 public static void main(String[] args) {
   try {
     Class.forName("COM.cloudscape.core.JDBCDriver").newInstance();
     Connection conn = DriverManager.getConnection("jdbc:cloudscape:GAMETRADER");
     Statement s = conn.createStatement();
     ResultSet rs = s.executeQuery("SELECT * FROM tableName");
     while (rs.next()) {
       int id = rs.getInt("GAMEID");
       Document manual = (Document) rs.getObject("MANUAL");
       XMLSerializer serialize = new XMLSerializer(System.out, null);
       serialize.serialize(manual);
     }
   } catch (Throwable e) {
     System.out.println("exception thrown");
     System.out.println(e);
   }
 }

}


      </source>
   
  
 
  



XML Databases DOM

   <source lang="java">

import java.sql.*; import java.io.*; import org.apache.xerces.parsers.*; import org.w3c.dom.*; import org.xml.sax.*; public class XMLDBDOM {

 public static void main(String[] args) throws Exception{
     Class.forName("COM.cloudscape.core.JDBCDriver").newInstance();
     Connection conn = DriverManager.getConnection("jdbc:cloudscape:GAMETRADER");
     conn.setAutoCommit(false);
     Statement s = conn.createStatement();
     s.executeUpdate("CREATE TABLE XMLData(GAMEID INT, MANUAL SERIALIZE(org.w3c.dom.Document))");
     conn.rumit();
     File file = new File("XMLData.xml");
     InputStream is = new FileInputStream(file);
     PreparedStatement ps = conn.prepareStatement("INSERT INTO XMLData VALUES(?,?)");
     ps.setInt(1, 1285757);
     DOMParser parser = new DOMParser();
     parser.parse("XMLData.xml");
     Document manual = parser.getDocument();
     ps.setObject(2, manual);
     ps.execute();
     conn.rumit();
 }

}


      </source>