Skip to content
This repository was archived by the owner on May 3, 2022. It is now read-only.

Batch Builder Example

Otávio Santana edited this page Feb 13, 2014 · 4 revisions

The Class ID

public class SimpleID {

@Column(name = "idbuilder")
private Integer key;

@Column(name = "indexbuilder")
private Integer index;

@ElementCollection
@Column(name = "mapbuilder")
private Map<String, String> map;

@ElementCollection
@Column(name = "listbuilder")
private List<String> list;

@ElementCollection
@Column(name = "setbuilder")
private Set<String> set;

//getter and setter
}

The Class

@Entity(name = "simplequerybuilder")
public class SimpleQueryBuilder {

@EmbeddedId
private SimpleID id = new SimpleID();

@Index
@Column(name = "namebuilder")
private String name;

@Column(name = "valuebuilder")
private Double value;

//getter and setter
}

Call method

You can create the UpdateBuider using CassandraTemplate or Persistence

Using org.easycassandra.persistence.cassandra.Persistence

Persistence = //inject
BatchBuilder update = persistence.batchBuilder();

Using org.easycassandra.persistence.cassandra.spring.CassandraTemplate

CassandraTemplate template = //inject
BatchBuilder update = template.batchBuilder();

Running samples

sync Batch

    DeleteBuilder<SimpleBean> delete = dao.deleteBuilder();
    delete.whereEq(Constant.INDEX, Constant.ONE_HUNDRED_TWO)
            .whereEq(Constant.KEY, Constant.ONE_HUNDRED_TWO);

    InsertBuilder<SimpleBean> insert = dao.insertBuilder();
    insert.value(Constant.KEY, Constant.ONE_HUNDRED).value(Constant.INDEX,
            Constant.ONE_HUNDRED);
    insert.value(Constant.LIST_COLUMN,
            Arrays.asList("Poliana", "Otavio", "Love"));

    UpdateBuilder<SimpleBean> update = dao.update();
    update.whereEq(Constant.KEY, Constant.ONE).whereEq(Constant.INDEX, Constant.ONE);
    update.addList("list", "otavioList");

    BatchBuilder batchBuilder = dao.batchBuilder();

    batchBuilder.addOperations(delete, insert, update).execute();

async Batch

    DeleteBuilder<SimpleBean> delete = dao.deleteBuilder();
    delete.whereEq(Constant.INDEX, Constant.ONE_HUNDRED_TWO)
            .whereEq(Constant.KEY, Constant.ONE_HUNDRED_TWO);

    InsertBuilder<SimpleBean> insert = dao.insertBuilder();
    insert.value(Constant.KEY, Constant.ONE_HUNDRED).value(Constant.INDEX,
            Constant.ONE_HUNDRED);
    insert.value(Constant.LIST_COLUMN,
            Arrays.asList("Poliana", "Otavio", "Love"));

    UpdateBuilder<SimpleBean> update = dao.update();
    update.whereEq(Constant.KEY, Constant.ONE).whereEq(Constant.INDEX, Constant.ONE);
    update.addList("list", "otavioList");

    BatchBuilder batchBuilder = dao.batchBuilder();

    batchBuilder.addOperations(delete, insert, update);
    batchBuilder.executeAsync();

async Batch with callback

    DeleteBuilder<SimpleBean> delete = dao.deleteBuilder();
    delete.whereEq(Constant.INDEX, Constant.ONE_HUNDRED_TWO)
            .whereEq(Constant.KEY, Constant.ONE_HUNDRED_TWO);

    InsertBuilder<SimpleBean> insert = dao.insertBuilder();
    insert.value(Constant.KEY, Constant.ONE_HUNDRED).value(Constant.INDEX,
            Constant.ONE_HUNDRED);
    insert.value(Constant.LIST_COLUMN,
            Arrays.asList("Poliana", "Otavio", "Love"));

    UpdateBuilder<SimpleBean> update = dao.update();
    update.whereEq(Constant.KEY, Constant.ONE).whereEq(Constant.INDEX, Constant.ONE);
    update.addList("list", "otavioList");

    BatchBuilder batchBuilder = dao.batchBuilder();

    batchBuilder.addOperations(delete, insert, update);
    batchBuilder.executeAsync(new ResultAsyncCallBack<Boolean>() {
        @Override
        public void result(Boolean bean) {
            // do some action
        }
    });

Clone this wiki locally