cassandra的java api_Azure Cosmos DB使用Cassandra API开发Java应用程序 - 代码示例

浏览代码下载ZIP

Azure Cosmos DB是一个全球分布式多模型数据库,此样本将引导您完成创建表,插入和查询数据。

前提条件在运行此示例之前,必须具备以下先决条件:

有效的Azure Cassandra API帐户-如果您没有帐户,请参考创建Cassandra API帐户。

在Ubuntu上,运行apt-get install default-jdk安装JDK

确保将JAVA_HOME环境变量设置为指向安装JDK的文件夹

在Ubuntu上,你可以运行apt-get install maven安装Maven

Git

在Ubuntu上,你可以运行sudo apt-get install git 安装Git

运行此示例

克隆此存储库使用git clone git@github.com:Azure-Samples/azure-cosmos-db-cassandra-java-getting-started.git cosmosdb 。

使用repo将目录更改为cd cosmosdb

接下来,将Cassandra host,username,password srcmainresourcesconfig.properties替换为门户connectionstring面板中的Cosmos DB帐户的值。cassandra_host=

cassandra_username=

cassandra_password=

ssl_keystore_file_path=

ssl_keystore_password=

如果config.properties中未提供ssl_keystore_file_path,则默认情况下将使用/jre/lib/security/cacerts,如果config.properties中未提供ssl_keystore_password,则将使用默认密码'changeit '

运行mvn clean install从cosmosdb文件夹中生成项目,这将在目标文件夹下生成cosmosdb-cassandra-examples.jar。

运行java -cp target/cosmosdb-cassandra-examples.jar com.azure.cosmosdb.cassandra.examples.UserProfile 在启动java应用程序的终端中。

output.png

关于代码

这个示例包含的代码可以帮助你快速启动一个Java控制台应用程序,这个应用程序使用Cassandra API连接到Azure Cosmos DB。

查看代码

如果你对了解如何在代码中创建数据库资源感兴趣,可以查看以下代码片段,src/main/java/com/azure/cosmosdb/cassandra/util/CassandraUtils.java 和src/main/java/com/azure/cosmosdb/cassandra/repository/UserRepository.java 文件。

Cassandra主机,端口,用户名和密码是使用Azure门户中的连接字符串页面设置的。this.cluster = Cluster.builder().addContactPoint(host).withPort(port).withCredentials(username, password).build();

cluster连接到Azure Cosmos DB Cassandra API并返回一个会话来访问。return cluster.connect();

创建一个新的keyspacepublic void createKeyspace() {

final String query = "CREATE KEYSPACE IF NOT EXISTS uprofile WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 }";

session.execute(query);

LOGGER.info("Created keyspace 'uprofile'");

}

创建新表。public void createTable() {

final String query = "CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)";

session.execute(query);

LOGGER.info("Created table 'user'");

}

使用prepared语句对象插入用户实体。public PreparedStatement prepareInsertStatement() {

final String insertStatement = "INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (?,?,?)";

return session.prepare(insertStatement);

}

public void insertUser(PreparedStatement statement, int id, String name, String city) {

BoundStatement boundStatement = new BoundStatement(statement);

session.execute(boundStatement.bind(id, name, city));

}

获取所有用户信息的查询。public void selectAllUsers() {

final String query = "SELECT * FROM uprofile.user";

List rows = session.execute(query).all();

for (Row row : rows) {

LOGGER.info("Obtained row: {} | {} | {} ", row.getInt("user_id"), row.getString("user_name"), row.getString("user_bcity"));

}

}

获取单用户信息的查询。public void selectUser(int id) {

final String query = "SELECT * FROM uprofile.user where user_id = 3";

Row row = session.execute(query).one();

LOGGER.info("Obtained row: {} | {} | {} ", row.getInt("user_id"), row.getString("user_name"), row.getString("user_bcity"));

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值