这里是maven工程, 请先新建maven工程
修改pom.xml 文件,增加依赖
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-cassandra</artifactId>
<version>1.0.0.RELEASE</version>
<exclusions>
<exclusion>
<groupId>com.google.collections</groupId>
<artifactId>google-collections</artifactId>
</exclusion>
<exclusion>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-dse</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-dse</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>14.0.1</version>
</dependency>
创建spring的配置文件 spring-cassandra.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns=" http://www.springframework.org/schema/beans"
xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xmlns:cassandra=" http://www.springframework.org/schema/data/cassandra"
xmlns:context=" http://www.springframework.org/schema/context"
xsi:schemaLocation=" http://www.springframework.org/schema/cql http://www.springframework.org/schema/cql/spring-cql-1.0.xsd
http://www.springframework.org/schema/data/cassandra http://www.springframework.org/schema/data/cassandra/spring-cassandra-1.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- cassandra配置 -->
<context:property-placeholder location="classpath:paramConfig.properties" />
<!-- 配置链接 ip 端口 -->
<cassandra:cluster contact-points="${cassandra.contactpoints}"
port="${cassandra.port}" />
<!-- 配置keyspace -->
<cassandra:session keyspace-name="${cassandra.keyspace}" />
<!-- REQUIRED: The Default Cassandra Mapping Context used by CassandraConverter -->
<cassandra:mapping />
<!-- REQUIRED: The Default Cassandra Converter used by CassandraTemplate -->
<cassandra:converter />
<!-- REQUIRED: The Cassandra Template is the building block of all Spring
Data Cassandra -->
<cassandra:template id="cassandraTemplate" />
<cassandra:template id="cqlTemplate" />
<!-- OPTIONAL: If you are using Spring Data Cassandra Repositories, add
your base packages to scan here -->
<cassandra:repositories base-package="com.cassandra.stocklib" />
<context:annotation-config />
</beans>
<beans xmlns=" http://www.springframework.org/schema/beans"
xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xmlns:cassandra=" http://www.springframework.org/schema/data/cassandra"
xmlns:context=" http://www.springframework.org/schema/context"
xsi:schemaLocation=" http://www.springframework.org/schema/cql http://www.springframework.org/schema/cql/spring-cql-1.0.xsd
http://www.springframework.org/schema/data/cassandra http://www.springframework.org/schema/data/cassandra/spring-cassandra-1.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- cassandra配置 -->
<context:property-placeholder location="classpath:paramConfig.properties" />
<!-- 配置链接 ip 端口 -->
<cassandra:cluster contact-points="${cassandra.contactpoints}"
port="${cassandra.port}" />
<!-- 配置keyspace -->
<cassandra:session keyspace-name="${cassandra.keyspace}" />
<!-- REQUIRED: The Default Cassandra Mapping Context used by CassandraConverter -->
<cassandra:mapping />
<!-- REQUIRED: The Default Cassandra Converter used by CassandraTemplate -->
<cassandra:converter />
<!-- REQUIRED: The Cassandra Template is the building block of all Spring
Data Cassandra -->
<cassandra:template id="cassandraTemplate" />
<cassandra:template id="cqlTemplate" />
<!-- OPTIONAL: If you are using Spring Data Cassandra Repositories, add
your base packages to scan here -->
<cassandra:repositories base-package="com.cassandra.stocklib" />
<context:annotation-config />
</beans>
paamconfig.properties文件增加
cassandra.contactpoints=IP1,
IP2,
IP3
cassandra.port=9042
cassandra.keyspace=链接的keyspace
新建映射对象
@Table(value="test") // test为 keyspace中的一个列(sql中称表)
public class TestVo implements Serializable {
private static final long serialVersionUID = 123456789L;
@PrimaryKey
private int id;
@Column(value="name")
private String name;
@Column(value="age")
private int age;
public TestVo(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "Person [id=" + id + ", name=" + name + ", age=" + age + "]";
}
}
测试DEMO
public class CassandraSpringDemo {
public static void main(String[] args) {
ConfigurableApplicationContext ct = new ClassPathXmlApplicationContext(
"springConfig/spring-cassandra.xml");
/******CassandraTemplate 继承了CqlTemplate,支持新版本*******/
CassandraTemplate template = (CassandraTemplate) ct.getBean("cassandraTemplate");
/****低版本使用***/
CqlTemplate cqlTemplate = (CqlTemplate) ct.getBean("cqlTemplate");
List<TestVo> list = new ArrayList<TestVo>();
for (int i = 600; i < 700; i++) {
TestVo test = new TestVo(i, "name", i);
list.add(test);
}
template.insert( list);
public static void main(String[] args) {
ConfigurableApplicationContext ct = new ClassPathXmlApplicationContext(
"springConfig/spring-cassandra.xml");
/******CassandraTemplate 继承了CqlTemplate,支持新版本*******/
CassandraTemplate template = (CassandraTemplate) ct.getBean("cassandraTemplate");
/****低版本使用***/
CqlTemplate cqlTemplate = (CqlTemplate) ct.getBean("cqlTemplate");
List<TestVo> list = new ArrayList<TestVo>();
for (int i = 600; i < 700; i++) {
TestVo test = new TestVo(i, "name", i);
list.add(test);
}
template.insert( list);
//template.insert(cql);
//template.update(entity)
//template.delete(entity);
//template.query(cql);
ct.close();
}
}
ct.close();
}
}