Your First GridDB Java Application

Israel Imru
GridDB
Published in
2 min readMar 27, 2019

You’ve got GridDB installed using the Quickstart blogpost and now it’s time to start developing your first Java application. This blog post will take you through the basics:

First, the required import statements:

import com.toshiba.mwcloud.gs.Collection;
import com.toshiba.mwcloud.gs.GSException;
import com.toshiba.mwcloud.gs.GridStore;
import com.toshiba.mwcloud.gs.GridStoreFactory;
import com.toshiba.mwcloud.gs.Query;
import com.toshiba.mwcloud.gs.RowKey;
import com.toshiba.mwcloud.gs.RowSet;

The container schema is defined as a static Class in Java.

static class Person {
@RowKey String name;
int age;
}

static class HeartRate {
@RowKey Date ts;
int heartRate;
String activity;
}

To connect to GridDB, you create a Properties instance with the particulars of your GridDB installation.

Properties props = new Properties();
props.setProperty("notificationAddress", "239.0.0.1");
props.setProperty("notificationPort", "31999");
props.setProperty("clusterName", "defaultCluster");
props.setProperty("user", "admin");
props.setProperty("password", "admin");
GridStore store = GridStoreFactory.getInstance().getGridStore(props);

To perform queries or write records, you first need to get the container:

Collection<String, Person> people = store.putCollection("PEOPLE", Person.class);

Querying is similar to SQL/JDBC drivers.

Query<Person< query = col.query("select * where name = 'John'");

RowSet<Person> rs = query.fetch(false);
while (rs.hasNext()) {
// Update the searched Row
Person person1 = rs.next();
System.out.println("Name: "+ person1.name +" Age: "+ person1.age)
}

Writing is simple…

HeartRate hr = new HeartRate();
hr.ts = new Date();
hr.heartrate = 60;
hr.activity = "resting";

TimeSeries<HeartRate> heartRate = store.putTimeSeries("HR_"+person1.name, HeartRate.class);
heartRate.put(hr);

Updating is simple:

Query<Person> query = col.query("select * where name = 'John'");

RowSet<Person> rs = query.fetch(true);
while (rs.hasNext()) {
// Update the searched Row
Person person1 = rs.next();
person1.age++;

rs.update(person1);
}

To compile use the following snippet.

$ cd gsSample/
$ export CLASSPATH=$CLASSPATH:/usr/share/java/gridstore.jar
$ javac Sample1.java
$ cd .. && java gsSample/Sample1

Alternatively, you can check out how to use maven with GridDB here.

Originally published at griddb.net.

--

--