Connessione a CouchDB con Java e Ektorp

Mattepuffo's logo
Connessione a CouchDB con Java e Ektorp

Connessione a CouchDB con Java e Ektorp

Viste le librerie a disposizione mi aspettavo più documentazione in giro.

Ed invece non è stato così facile affrontare l'argomento in questione: la connessione a CouchDB in Java con la libreria Ektorp.

Se usate Maven, per installare la libreria:

<dependency>
  <groupId>org.ektorp</groupId>
  <artifactId>org.ektorp</artifactId>
  <version>1.5.0</version>
</dependency>

Poi creaimo una classe POJO per il nostro db:

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;

@JsonInclude(JsonInclude.Include.NON_NULL)
public class Persone {

    @JsonProperty("_id")
    private String id;

    @JsonProperty("_rev")
    private String revision;

    private String email;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getRevision() {
        return revision;
    }

    public void setRevision(String revision) {
        this.revision = revision;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

Infine:

import org.ektorp.CouchDbConnector;
import org.ektorp.CouchDbInstance;
import org.ektorp.ViewQuery;
import org.ektorp.http.HttpClient;
import org.ektorp.http.StdHttpClient;
import org.ektorp.impl.StdCouchDbInstance;

import java.net.MalformedURLException;
import java.util.List;

public class Main {

    public static void main(String[] args) {
        HttpClient httpClient = null;
        try {
            httpClient = new StdHttpClient.Builder()
                    .url("http://localhost:5984")
                    .username("admin")
                    .password("9211")
                    .build();
        } catch (MalformedURLException e) {
            System.out.println(e.getMessage());
        }

        CouchDbInstance dbInstance = new StdCouchDbInstance(httpClient);
        CouchDbConnector db = dbInstance.createConnector("persone", true);

        db.createDatabaseIfNotExists();

        Persone pp = new Persone();
        pp.setEmail("kkk@lll.it");
        db.create(pp);

        ViewQuery q = new ViewQuery().allDocs().includeDocs(true);
        List<Persone> lp = db.queryView(q, Persone.class);
        for (Persone p : lp) {
            System.out.println(p.getId());
            System.out.println(p.getRevision());
            System.out.println(p.getEmail());
            System.out.println("------------");
        }
    }

}

Enjoy!


Condividi

Commentami!