Java/XML/XML Database
Содержание
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>