我看到marklogic提供了各种与之通信的接口。将Java视为客户端应用程序,其中XCC,JAVA / REST是最佳选择。
如果我选择XCC而不是JAVA / REST,我会得到任何好处。
由于
答案 0 :(得分:5)
如果你喜欢XQuery,你应该强烈考虑XCC,它为你提供了一个在服务器上执行XQuery的直接界面。
否则,您应该查看MarkLogic Java API。功能包括
如果要摄取非常大的数据集,则应使用mlcp工具以获得最佳性能。
在路上,如果你开始将模块部署到服务器,你应该看看ml-gradle
希望这很有用,
答案 1 :(得分:0)
提供另一种观点 - 编写单一供应商锁定方式并不是一个好地方。
将the XQuery API for Java (XQJ)视为受JDBC启发的本机Java接口,驱动程序可用于众多数据库后端,包括a MarkLogic driver。
XQJ是一个功能齐全的界面;引自its webpage:
XQuery API接口支持
- 针对XML数据源执行XQuery并使用Java处理结果。
- 从Java绑定XQuery变量。
- 创建Prepared和Adhoc XQuery表达式。
- 改变XQuery静态和动态上下文行为。
- ACID Transactions。
- 通过StAX,SAX和DOM进行XML处理。还支持字符串和流。
- 细粒度数据访问,
- 结果序列提供有关每个结果项的完整XDM数据类型信息。
- 以任何编码方式读取和写入数据,包括UTF-8,UTF-16和ISO-8859-1。
这样,只要您编写查询以使用标准强制功能,您的最终用户就可以将您的应用程序重新定位到另一个数据库 - 无论是eXist,BaseX,Oracle XDB还是其他数据库。