WebRowSet 을 이용한 JDBC 활용하기 3부

ResultSet 출력하기


자. 이제 위의 예제코드의 ResultSet을 XML데이터로 변형 해 봅시다.
이를 위해 com.sun.rowset.WebRowSetImple 클래스를 이용할 수 있습니다.
위 예제 코드에 몇 라인의 코드를 추가함으로써 result set을 XML 파일로 출력 할 수 있습니다.

[code]
... ... ...
ResultSet rs =  stmt.executeQuery("select * from student");
WebRowSet wrs = new WebRowSetImpl();
wrs.populate(rs);
try {
  wrs.writeXml(
  new FileOutputStream("student.xml"));
} catch (FileNotFoundException e) {
  e.printStackTrace();
} catch (IOException e) {
  e.printStackTrace();
}
... ... ...
[/code]

wrs.writeXML()의 출력형태는 WebRowSet scheme definition. 의 형태를 따르며
출력은 properties, metadata, data의 세 부분으로 구분 되어집니다.
일반적인 출력 레이아웃은 다음과 같습니다.

[code]
<?xml version="1.0"?>
<webRowSet xmlns= "http://java.sun.com/xml/ns/jdbc"
           xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation= "http://java.sun.com/xml/ns/jdbc 
           http://java.sun.com/xml/ns/jdbc/webrowset.xsd">
 <properties>
       ... ... ...
 </properties>
 <metadata>
       ... ... ...
 </metadata>
 <data>
       ... ... ...
</data>
</webRowSet>
[/code]

<properties> 태그는 provider( isolation leve, RowSet type 등)를 의미 합니다. <metadata> 태그는 해당 데이타베이스의 테이블의 갯수, 이름, 컬럼타입 등을 나타내며, 마지막으로 <data> 태그는 해당 테이블의 실제 정보를 기술합니다.

[code]
 <data>
   <currentRow>
     <columnValue>200 < /columnValue>
     <columnValue>Jack</columnValue>
     <columnValue>Dakota</columnValue>
     <columnValue>21</columnValue>
   </currentRow>
   <currentRow>
     <columnValue>100</columnValue>
     <columnValue>John</columnValue>
     <columnValue>Doe</columnValue>
     <columnValue>26</columnValue>
   </currentRow>
 </data>
[/code]

위의 예에서 보이는 <currentRow> 태그는 WebRowSet의 각 Row에 저장되어있는 데이터를 나타냅니다. insert, update, delete같은 데이터 조작은 다음편에서 계속하겠습니다.

2008/11/11 13:03 2008/11/11 13:03
Trackback Address:이 글에는 트랙백을 보낼 수 없습니다