我正在尝试切换基于 SQL 的应用程序以使用 Couchdb 来存储和检索它的文档,这些文档基于 _design 文档(例如_design/VIEW_ALL_DOC)。
文件结构如下:
{
Map<String , String> properties = new HashMap<String,String>();
properties.put(PRICE_LIST_ID, "111000");
properties.put(FILE_NAME, "KOOO");
properties.put(VISIBILITY, "True");
properties.put(DELETION_FLAG, "0");
properties.put(FILE_CONTENT, "Pricelist");
properties.put(VERSION, "1.0");
properties.put(CREATION_DATE, "19-09-13");
properties.put(MODIFICATION_USER, "IKK");
properties.put(MODIFICATION_DATE, "20-09-13");
properties.put(CREATION_USER, "AOK");
properties.put(CUSTOMER_ID, "02227802");
properties.put(ORIGINAL_FILE_NAME, "Original");l
}
我创建了运行良好的文档,但问题在于在现有的 Java 应用程序中集成和访问 _design 文档。
我使用HttpClient lib 来访问 _design 文档,如下所示:
HttpClient httpclient = new DefaultHttpClient();
HttpGet VIEW_ALL_DOCS = new HttpGet("http://localhost:5984/pricelistdocs/_design/VIEW_ALL_DOCS/_view/VIEW_ALL_DOCS");
问题是在集成 Couchdb 时,使用HttpClient结构需要在应用程序中进行大量更改。除了使用 HttpClient 库之外,还有其他访问_design/VIEW_ALL_DOC顺序的替代方法吗?
CouchDB 文档是否有 XML Blob 的概念?
甚至任何使用带有java 提取器或XML blob之类的东西的HttpClient的解决方案也非常好。
如果可能的话,我的目标是找到一个解决方案,我将使用 java Extrator访问以及
return extractor.getString(record, mapping.get(index));
Couchdb 文档的字段,如旧解决方案 blow 。ResultSet rs = new ResultSet(response); List<TransPriceListPdf> result = new ArrayList<TransPriceListPdf>(); while (rs.next()) { TransPriceListPdf temp = new TransPriceListPdf(); temp.setPriceListId(rs.getString(1)); temp.setPdfFileVersion(rs.getInt(2)); temp.setPdfFileName(rs.getString(3)); temp.setOriginalFileName(rs.getString(4)); temp.setVisibility(VISIBILITY.valueof(rs.getString(5))); temp.setDeletionFlag(rs.getInt(6) == 0 ? false : true); temp.setPdfFileContents(rs.getBlob(7)); temp.setCreationDate(rs.getDate(8)); temp.setCreationUser(rs.getString(9)); temp.setModificationDate(rs.getDate(10)); temp.setModificationUser(rs.getString(11)); result.add(temp); }
尽管我仍然熟悉 Java 和 CouchDB。请任何 Couchdb、Java 或两者的帮助、提示、提示或帮助解决此问题,将不胜感激,数量不多。感谢您阅读