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();


  • 相关阅读:
    javascript继承对象冒充
    javascript原型prototype(2)
    javascript继承call()和apply实现继承
    javascript继承原型链继承
    javascript原型prototype(3)
    没有宽高的情况下实现水平垂直居中
    TCP协议
    什么是模块化?模块化的好处是什么?
    数组中嵌套数组,转化为一个数组形式/二维数组转化为一维数组
    常见的请求头类型
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6837304.html
Copyright © 2011-2022 走看看