1. maven  依赖

  1. <dependency>
  2. <groupId>org.springframework.data</groupId>
  3. <artifactId>spring-data-cassandra</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>org.springframework.data</groupId>
  7. <artifactId>spring-cql</artifactId>
  8. </dependency>
 
2. 创建 Cassandra  keysapce,表定义
  1. CREATE KEYSPACE dalong WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
  2. CREATE TABLE userapp(user_id text PRIMARY KEY ,firstname text ,lastname text );
 
3. 实体映射定义
 
  1. package com.yonyou.op.Enties;
  2. import java.io.Serializable;
  3. import org.springframework.data.cassandra.mapping.PrimaryKey;
  4. import org.springframework.data.cassandra.mapping.Table;
  5. @Table(value = "userapp")
  6. public class Person implements Serializable{
  7. private static final long serialVersionUID = 1L;
  8. @PrimaryKey
  9. private String user_id;
  10. private String firstname;
  11. private String lastname;
  12. public Person() {
  13. // TODO Auto-generated constructor stub
  14. }
  15. public Person(String id, String name, String age) {
  16. this.user_id = id;
  17. this.firstname = name;
  18. this.lastname = age;
  19. }
  20. public String getUser_id() {
  21. return user_id;
  22. }
  23. public String getFirstname() {
  24. return firstname;
  25. }
  26. public String getLastname() {
  27. return lastname;
  28. }
  29. @Override
  30. public String toString() {
  31. return "Person [user_id=" + user_id + ", firstname=" + firstname
  32. + ", lastname=" + lastname + "]";
  33. }
  34. }
4. 添加,查询代码
 
  1. public class Appdemo2 {
  2. private static final Logger LOGGER = LoggerFactory
  3. .getLogger(Appdemo2.class);
  4. protected static Person newPerson(String name, String age) {
  5. return newPerson(UUID.randomUUID().toString(), name, age);
  6. }
  7. protected static Person newPerson(String id, String name, String age) {
  8. return new Person(id, name, age);
  9. }
  10. public static void main(String[] args) {
  11. Cluster cluster = Cluster.builder().addContactPoints("XXXXXX")
  12. .build();
  13. Session session = cluster.connect("dalong");
  14. CassandraOperations template = new CassandraTemplate(session);
  15. Person jonDoe = template.insert(newPerson("Jon Doe", "dddd"));
  16. Select selectStatement = QueryBuilder.select()
  17. .from("dalong", "userapp");
  18. selectStatement.allowFiltering();
  19. selectStatement
  20. .where(QueryBuilder.eq("lastname", jonDoe.getLastname()));
  21. List<Person> selectpersons = template.select(selectStatement,
  22. Person.class);
  23. for (Person p : selectpersons) {
  24. LOGGER.info(p.toString());
  25. }
  26. session.close();
  27. cluster.close();
  28. }
  29. }
5. 常见问题:
 
   a. spring data  Cassandra  版本问题,目前已经支持3.0 但是需要使用新版本的spring 
       不然会出现比较怪异的问题 
 

Cassandra spring data 试用的更多相关文章

  1. 两行代码玩转Spring Data排序和分页

    一:唠嗑 在实际项目中对Spring Data的各种使用相当多,简单的增删改查Spring Data提供了现成的方法,一些复杂的,我们可以在接口方法写And,Not等关键字来搞定,想写原生SQL,CQ ...

  2. Spring Data学习中心

    Spring Data 概览 Spring Data的使命是为数据访问提供熟悉且一致的基于Spring的编程模型,同时仍保留底层数据存储的特殊特性. 它使数据访问技术,关系数据库和非关系数据库,map ...

  3. 初探 spring data(一)--- spring data 概述

    由于自己一个项目要用多到Sql与NoSql两种截然不同的数据结构,但在编程上我希望统一接口API,让不同类型的数据库能在相同的编程接口模式下运作.于是找了一个spring的官网,发现一个spring ...

  4. Spring Data(一)概念和仓库的定义

    Spring Data(一)概念和仓库的定义 Spring Data的主要任务是为数据访问提供一个相似的.一致的.基于Spring的编程模型,同时又保留着下面各个数据存储的特征.它使得使用数据访问技术 ...

  5. Spring Boot使用Spring Data Jpa对MySQL数据库进行CRUD操作

    只需两步!Eclipse+Maven快速构建第一个Spring Boot项目 构建了第一个Spring Boot项目. Spring Boot连接MySQL数据库 连接了MySQL数据库. 本文在之前 ...

  6. Spring Data Redis 让 NoSQL 快如闪电 (1)

    [编者按]本文作者为 Xinyu Liu,详细介绍了 Redis 的特性,并辅之以丰富的用例.在本文的第一部分,将重点概述 Redis 的方方面面.文章系国内 ITOM 管理平台 OneAPM 编译呈 ...

  7. 初入spring boot(八 )Spring Data REST

    1. 什么是Spring Data REST Spring Data JPA是基于Spring Data 的Repository之上,可以将Repository自动输出为REST资源.目前Spring ...

  8. spring data jpa关联查询(一对一、一对多、多对多)

    在实际过往的项目中,常用的查询操作有:1.单表查询,2.一对一查询(主表和详情表)3.一对多查询(一张主表,多张子表)4.多对多查询(如权限控制,用户.角色多对多).做个总结,所以废话不多说. 使用i ...

  9. SpringBoot第九篇:整合Spring Data JPA

    作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10910059.html 版权声明:本文为博主原创文章,转载请附上博文链接! 前言   前面几章, ...

随机推荐

  1. 解决:make:cc 命令未找到的解决方法

    安装Redis的时候报这个错误 原因:未安装gcc 解决方法:安装gcc 自动安装,包括依赖库[root@VM_220_111_centos redis-3.2.9]# yum -y install ...

  2. 值类型的TryParse

    值类型(Struct(如:DateTime).基本类型(如:double).枚举类型)的TryParse方法,通常可使用该方法将“字符串”转换为当前类型,并out出.比如:日期格式的字符串   转换为 ...

  3. Intellij IDEA的一些操作小技巧

    1.Presentation Mode 我们可以使用 Presentation Mode,将IDEA弄到最大,可以让你只关注一个类里面的代码,进行毫无干扰的 coding.可以使用Alt+v快捷键,弹 ...

  4. 【转】c++析构函数(Destructor)

    创建对象时系统会自动调用构造函数进行初始化工作,同样,销毁对象时系统也会自动调用一个函数来进行清理工作,例如释放分配的内存.关闭打开的文件等,这个函数就是析构函数. 析构函数(Destructor)也 ...

  5. 4666 Hyperspace stl

    当时自己做的时候没有这么想,想的是每个象限去找一个无穷值来作为比较点.但是很麻烦 代码: #include <stdio.h> #include <string.h> #inc ...

  6. bzoj3400

    题解: dp f[i][j]表示前i个,膜为j 最后记得判断0 代码: #include<bits/stdc++.h> using namespace std; ; int n,m,a[N ...

  7. bzoj2241

    题解: 暴力枚举锤子大小 然后前缀和判断是否可行 代码: #include<bits/stdc++.h> #define N 105 using namespace std; int m, ...

  8. Ti IPNC Web网页之ActiveX控件

    Ti IPNC Web网页之ActiveX控件 本篇介绍关于TI IPNC网页中播放器相关的东西. gStudio工程中添加播放器并控制播放器 打开IPNC网页时首先会自动下载ActiveX控件并安装 ...

  9. flask框架中勾子函数的使用

    在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接: 在请求开始时,根据需求进行权限校验: 在请求结束时,指定数据的交互格式: 为了让每个视图函数避免编 ...

  10. CSS 清除浮动 clear 属性

    CSS 清除浮动 clear 属性用于设定元素哪一侧不允许有其他浮动元素(而并非取消元素的浮动). 可能的取值如下: 取值 说明 none 默认值,允许两侧都有浮动元素 left 左侧不允许有其他浮动 ...