Java連接并操作Sedna XML數(shù)據(jù)庫(kù)的方法
本文實(shí)例講述了Java連接并操作Sedna XML數(shù)據(jù)庫(kù)的方法。分享給大家供大家參考。具體分析如下:
Sedna 是一個(gè)原生的XML數(shù)據(jù)庫(kù),提供了全功能的核心數(shù)據(jù)庫(kù)服務(wù),包括持久化存儲(chǔ)、ACID事務(wù)、索引、安全、熱備、UTF8等。實(shí)現(xiàn)了 W3C XQuery 規(guī)范,支持全文搜索以及節(jié)點(diǎn)級(jí)別的更新操作。
import ru.ispras.sedna.driver.*;
public class SednaClient {
public static void main(String args[]) {
SednaConnection con = null;
try {
/* Get a connection */
con = DatabaseManager.getConnection("localhost",
"testdb",
"SYSTEM",
"MANAGER");
/* Begin a new transaction */
con.begin();
/* Create statement */
SednaStatement st = con.createStatement();
/* Load XML into the database */
System.out.println("Loading data ...");
boolean res;
res = st.execute("LOAD 'C:/region.xml' 'region'");
System.out.println("Document 'region.xml' "+
"has been loaded successfully");
/* Execute query */
System.out.println("Executing query");
res = st.execute("doc('region')/*/*");
/* Print query results */
printQueryResults(st);
/* Remove document */
System.out.println("Removing document ...");
res = st.execute("DROP DOCUMENT 'region'");
System.out.println("Document 'region' " +
"has been dropped successfully");
/* Commit current transaction */
con.commit();
}
catch(DriverException e) {
e.printStackTrace();
}
finally {
/* Properly close connection */
try { if(con != null) con.close(); }
catch(DriverException e) {
e.printStackTrace();
}
}
}
/* Pretty printing for query results */
private static void printQueryResults(SednaStatement st)
throws DriverException {
int count = 1;
String item;
SednaSerializedResult pr = st.getSerializedResult();
while ((item = pr.next()) != null) {
System.out.println(count + " item: " + item);
count++;
}
}
}
希望本文所述對(duì)大家的java程序設(shè)計(jì)有所幫助。
相關(guān)文章
詳解MyBatis Mapper 代理實(shí)現(xiàn)數(shù)據(jù)庫(kù)調(diào)用原理
這篇文章主要介紹了詳解MyBatis Mapper 代理實(shí)現(xiàn)數(shù)據(jù)庫(kù)調(diào)用原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
使用java.util.Timer實(shí)現(xiàn)任務(wù)調(diào)度
這篇文章主要為大家詳細(xì)介紹了使用java.util.Timer實(shí)現(xiàn)任務(wù)調(diào)度,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
Java利用策略模式優(yōu)化過(guò)多if else代碼
這篇文章主要介紹了Java利用策略模式優(yōu)化過(guò)多if else代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
java 1.8 動(dòng)態(tài)代理源碼深度分析
下面小編就為大家?guī)?lái)一篇java 1.8 動(dòng)態(tài)代理源碼深度分析。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
Java實(shí)現(xiàn)循環(huán)體的過(guò)濾器的方法
這篇文章主要介紹了Java實(shí)現(xiàn)循環(huán)體的過(guò)濾器的方法,需要的朋友可以參考下2014-02-02
CentOS?7.9服務(wù)器Java部署環(huán)境配置的過(guò)程詳解
這篇文章主要介紹了CentOS?7.9服務(wù)器Java部署環(huán)境配置,主要包括ftp服務(wù)器搭建過(guò)程、jdk安裝方法以及mysql安裝過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
IDEA Error:java: 無(wú)效的源發(fā)行版: 17錯(cuò)誤
本文主要介紹了IDEA Error:java: 無(wú)效的源發(fā)行版: 17錯(cuò)誤,這個(gè)錯(cuò)誤是因?yàn)槟腎DEA編譯器不支持Java 17版本,您需要更新您的IDEA編譯器或者將您的Java版本降級(jí)到IDEA支持的版本,本文就來(lái)詳細(xì)的介紹一下2023-08-08
idea中定時(shí)及多數(shù)據(jù)源配置方法
因項(xiàng)目要求,需要定時(shí)從達(dá)夢(mèng)數(shù)據(jù)庫(kù)中取數(shù)據(jù),并插入或更新到ORACLE數(shù)據(jù)庫(kù)中,這篇文章主要介紹了idea中定時(shí)及多數(shù)據(jù)源配置方法,需要的朋友可以參考下2023-12-12

