在Fedora上安装CouchDB:
yum update
yum install couchdb
修改/etc/couchdb下local.ini文件:
port = 5984
bind_address = 0.0.0.0
启动couchdb:
/etc/init.d/couchdb start
重启couchdb:
/etc/init.d/couchdb restart
关闭couchdb:
/etc/init.d/couchdb stop
开机自动启动:
chkconfig couchdb on
其他资料:
Fedora: http://library.linode.com/databases/couchdb/fedora-14
Ubuntu: http://www.oschina.net/question/5189_7729
使用Java访问CouchDB:
Jar包:
/CouchDB/commons-io-2.1.jar
/CouchDB/commons-logging-1.1.1.jar
/CouchDB/httpclient-4.1.2.jar
/CouchDB/httpclient-cache-4.1.2.jar
/CouchDB/httpcore-4.1.2.jar
/CouchDB/jackson-core-asl-1.9.4.jar
/CouchDB/jackson-mapper-asl-1.9.4.jar
/CouchDB/org.ektorp-1.2.2.jar
/CouchDB/slf4j-api-1.6.1.jar
/CouchDB/spring-2.5.6.jar
测试代码:
package com.couchdb;
import java.net.MalformedURLException;
import org.ektorp.CouchDbConnector;
import org.ektorp.CouchDbInstance;
import org.ektorp.http.HttpClient;
import org.ektorp.http.StdHttpClient;
import org.ektorp.impl.StdCouchDbConnector;
import org.ektorp.impl.StdCouchDbInstance;
public class CouchDBTest {
public static void main(String[] args) throws MalformedURLException {
HttpClient httpClient = new StdHttpClient.Builder().url("http://192.168.11.124:5984").build();
CouchDbInstance dbInstance = new StdCouchDbInstance(httpClient);
CouchDbConnector db = new StdCouchDbConnector("mydatabase", dbInstance);
db.createDatabaseIfNotExists();
Sofa sofa = db.get(Sofa.class, "id_1");
if(sofa != null) db.delete(sofa);
sofa = new Sofa();
sofa.setId("id_1");
sofa.setColor("red");
db.create(sofa);
Sofa tmpSofa = db.get(Sofa.class, "id_1");
System.out.println(tmpSofa.getRevision() + " : " + tmpSofa.getColor());
tmpSofa.setColor("blue");
db.update(tmpSofa);
tmpSofa = db.get(Sofa.class, "id_1");
System.out.println(tmpSofa.getRevision() + " : " + tmpSofa.getColor());
}
}
整理后编写如下:
@Configuration public class CouchDBTemplate { @Value("${fabric.couchdb.host}") private String couchDBHost; @Value("${fabric.couchdb.database}") private String databaseName; public CouchDbConnector getCouchDbConnector() throws MalformedURLException { HttpClient httpClient = new StdHttpClient.Builder().url(couchDBHost).build(); CouchDbInstance dbInstance = new StdCouchDbInstance(httpClient); CouchDbConnector db = new StdCouchDbConnector(databaseName, dbInstance); db.createDatabaseIfNotExists(); return db; } }
@Service
public class CouchDBServiceImpl implements CouchDBService {
@Autowired
private CouchDBTemplate couchDBTemplate;
@Override
public void test() throws MalformedURLException {
CouchDbConnector db = couchDBTemplate.getCouchDbConnector();
Sofa sofa = db.get(Sofa.class, "0x789456123");
System.out.println(JSONObject.toJSON(sofa));
}
@Override
public Long getEvidenceSum() throws MalformedURLException {
CouchDbConnector db = couchDBTemplate.getCouchDbConnector();
Long cc =db.getDbInfo().getDocCount();
return cc;
}
}
public class Sofa { @JsonProperty(value = "_id") private String id; @JsonProperty(value = "_rev") private String rev; private String address; private String createTime; private String hash; private String name; private String recordNumber; private String source; private String user; @JsonProperty(value = "~version") private String version; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getRev() { return rev; } public void setRev(String rev) { this.rev = rev; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getCreateTime() { return createTime; } public void setCreateTime(String createTime) { this.createTime = createTime; } public String getHash() { return hash; } public void setHash(String hash) { this.hash = hash; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getRecordNumber() { return recordNumber; } public void setRecordNumber(String recordNumber) { this.recordNumber = recordNumber; } public String getSource() { return source; } public void setSource(String source) { this.source = source; } public String getUser() { return user; } public void setUser(String user) { this.user = user; } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } }
参考 https://www.xuebuyuan.com/2222739.html