zoukankan      html  css  js  c++  java
  • Cassandra数据库Java訪问

    针对的时Cassandra 2.0 数据库

    Java本地client訪问Cassandra,首先建立Javaproject,使用Maven进行管理。

    引入依赖:

    <dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>cassandra-driver-core</artifactId>
        <version>2.1.0</version>
    </dependency>

    1. 类似Elasticsearch的方式,如今client构建一个集群对象:

    Cluster cluster = Cluster.builder()
                    .addContactPoint("your ip")
                    .build();
            Metadata metadata = cluster.getMetadata();
            System.out.printf("Connected to cluster: %s
    ",
                    metadata.getClusterName());
            for (Host host : metadata.getAllHosts()) {
                System.out.printf("Datatacenter: %s; Host: %s; Rack: %s
    ",
                        host.getDatacenter(), host.getAddress(), host.getRack());
            }

    2. 通过一个Session对象。实现对Cassandra的全部增删改查。

    Session session = cluster.connect();


    3. 通过Session对象实现全部的DML等操作。 (PS:在对 Cassandra 进行操作之前,建议先了解 Cassandra 的架构以及数据组织形式)

    a. 我们首先建立一个Schema:

    <pre name="code" class="java">ResultSet results = session.execute("SELECT * FROM simplex.playlists ");
    
            System.out.println(String.format("%-30s	%-20s	%-20s
    %s", "title", "album", "artist",
                    "-------------------------------+-----------------------+--------------------"));
            for (Row row : results) {
                System.out.println(String.format("%-30s	%-20s	%-20s", row.getString("title"),
                        row.getString("album"), row.getString("artist")));
            }
            System.out.println();

    session.execute("CREATE KEYSPACE simplex WITH replication " + "= {'class':'SimpleStrategy', 'replication_factor':3};");

    
    b.建立一个Table:
    

    session.execute(
                    "CREATE TABLE simplex.songs (" +
                            "id uuid PRIMARY KEY," +
                            "title text," +
                            "album text," +
                            "artist text," +
                            "tags set<text>," +
                            "data blob" +
                            ");");
    c. 插入数据:

    session.execute(
                    "INSERT INTO simplex.songs (id, title, album, artist, tags) " +
                            "VALUES (" +
                            "756716f7-2e54-4715-9f00-91dcbea6cf50," +
                            "'La Petite Tonkinoise'," +
                            "'Bye Bye Blackbird'," +
                            "'Joséphine Baker'," +
                            "{'jazz', '2013'})" +
                            ";");
    d. 查询数据:

    ResultSet results = session.execute("SELECT * FROM simplex.playlists ");
    
            System.out.println(String.format("%-30s	%-20s	%-20s
    %s", "title", "album", "artist",
                    "-------------------------------+-----------------------+--------------------"));
            for (Row row : results) {
                System.out.println(String.format("%-30s	%-20s	%-20s", row.getString("title"),
                        row.getString("album"), row.getString("artist")));
            }
            System.out.println();


  • 相关阅读:
    安卓开发_浅谈Android动画(三)
    安卓开发_浅谈Android动画(二)
    安卓开发_浅谈Android动画(一)
    Go语言获取系统性能数据gopsutil库
    Go语言标准库之log
    选项模式
    Go语言标准库之template
    Go语言基础之切片
    Go语言基础之反射
    Go语言基础之运算符
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6837304.html
Copyright © 2011-2022 走看看