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


  • 相关阅读:
    使用Boost::ptime构建高精度计时器
    static和extern
    通用js地址选择器
    js模拟抛出球运动
    前端用Webpact打包React后端Node+Express实现简单留言版
    webpack 打包一个简单react组件
    img及父元素(容器)实现类似css3中的background-size:contain / background-size:cover
    通用js函数集锦<来源于网络> 【二】
    通用js函数集锦<来源于网络/自己> 【一】
    向上滚动或者向下滚动分页异步加载数据(Ajax + lazyload)[上拉加载组件]
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6837304.html
Copyright © 2011-2022 走看看