Вопрос довольно расплывчатый.Обычно вы должны быть в состоянии предоставить код и привести пример чего-то, что не совсем подходит для вас.
При этом я только что провел (на этой неделе) урок по этому предмету для нашегоразработчики за работой.Поэтому я могу привести несколько быстрых примеров.
Прежде всего, у вас должен быть отдельный класс, созданный для обработки ваших объектов соединения Cassandra.Я обычно строю его с помощью пары конструкторов, чтобы его можно было вызывать несколькими разными способами.Но каждый по сути вызывает метод connect
, который выглядит примерно так:
public void connect(String[] nodes, String user, String pwd, String dc) {
QueryOptions qo = new QueryOptions();
qo.setConsistencyLevel(ConsistencyLevel.LOCAL_ONE);
cluster = Cluster.builder()
.addContactPoints(nodes)
.withCredentials(user,pwd)
.withQueryOptions(qo)
.withLoadBalancingPolicy(
new TokenAwarePolicy(
DCAwareRoundRobinPolicy.builder()
.withLocalDc(dc)
.build()
)
)
.build();
session = cluster.connect();
Имея это в виду, я также пишу несколько простых методов, чтобы показать некоторые функциональные возможности объекта session
:
public ResultSet query(String strCQL) {
return session.execute(strCQL);
}
public PreparedStatement prepare(String strCQL) {
return session.prepare(strCQL);
}
public ResultSet query(BoundStatement bStatement) {
return session.execute(bStatement);
}
После установки я могу вызывать эти методы из уровня обслуживания.Простой INSERT
(с подготовкой оператора и привязкой к нему значений) выглядит следующим образом:
String[] nodes = {"10.6.8.2","10.6.6.4"};
CassandraConnection conn = new CassandraConnection(nodes, "aploetz", "flynnLives", "West-DC");
String userID = "Aaron";
String value = "whatever";
String strINSERT = "INSERT INTO stackoverflow.timestamptest "
+ "(userid, activetime, value) "
+ "VALUES (?,dateof(now()),?)";
PreparedStatement pIStatement = conn.prepare(strINSERT);
BoundStatement bIStatement = new BoundStatement(pIStatement);
bIStatement.bind(userID, value);
conn.query(bIStatement);
Кроме того, в драйвере Java DataStax есть папка «examples» в их репозитории Git.Вот ссылка на «основные» примеры , которые я рекомендую прочитать далее.