使用 Derby 引擎开发 DB2 Everyplace XML 同步应用程序
2009-11-16 00:00:00 来源:WEB开发网更新 XML 数据
类 JXSync 提供了方法 updateXDataIntoDB 。这个方法用来向读者展示如何更新 XML 数据。 updateXDataIntoDB 首先创建一个预准备语句实例,随后执行 SQL 语句来执行更新。这个方法执行成功后,标示 Websphere 产品的新的 XML 片断"<product id=130><name>Websphere</name><price>16000< /price></product>"将会被更新到数据库中。这个例子中,意味着 Websphere 产品的价格从 15000 美元上调到 16000 美元。清单 11 列出了更新 XML 数据的实现代码。
清单 11. 更新 XML 数据public void updateXDataIntoDB()
{
try{
String strUpdate = "update xtable set xcol=
xmlparse(document cast(? as CLOB) preserve whitespace) where idx=2";
PreparedStatement stmt = conn.prepareStatement(strUpdate);
stmt.setString(
1,""<product id=\"130\"><name>Websphere</name><price>16000</price></product>"");
System.out.println(stmt.executeUpdate());
stmt.close();
}catch(Exception e){
e.printStackTrace();
}
}
删除 XML 数据
类 JXSync 提供了方法 removeXDataFromDB 。这个方法非常简单,它用来向读者展示如何删除 XML 数据。 removeXDataFromDB 首先创建一个语句实例,随后执行一条 Delete 语句来执行删除。这。这个方法执行成功后,标示 Websphere 产品的 XML 片断"<product id=130><name>Websphere</name><price>16000< /price></product>"将会被删除。这个例子中,意味着 Websphere 产品被从数据库中删除了。清单 12 列出了删除 XML 数据的实现代码。
清单 12. 删除 XML 数据public void removeXDataFromDB()
{
try{
String sql = "delete from xtable where idx=2";
Statement stmt=conn.createStatement();
System.out.println(stmt.executeUpdate(sql));
stmt.close();
}catch(Exception e){
e.printStackTrace();
}
}
使用 Java 版客户端同步客户端改动到服务器
使用类 JXSync 提供的方法更改客户端数据后,可以再次使用 Java 版客户端将更换后的数据同步到服务器。具体配置请参考前文 Java 版客户端刷新后台数据到客户端。同步成功后,使用清单 13 的命令复制镜像数据库到源数据库。读者可以通过 DB2 CLP,CLI 或者控制中心连接 XMLSRC 数据库,并检查源表 xtable 。 Xtable 应和客户端 Derby 数据库中的记录完成了正确同步。
清单 13. 复制镜像数据库Replicate XMLMDB
小结
事实上,DB2 Everyplace 产品为开发者使用 Derby 引擎开发 XML 同步应用提供了非常强大的支持。通过全文的介绍,现在读者已经知道如何用 Derby 引擎,Apache JAXP, Java 同步客户端,sync API 和 JDBC 来开发 XML 同步应用了。所以,接下来读者可以通过阅读相关在线文档或者技术手册来更加深入地去尝试 DB2 Everyplace 的 XML 高级特性的应用开发。
更多精彩
赞助商链接