Skip to content

Commit 93dbf06

Browse files
committed
Initial Commit
0 parents  commit 93dbf06

File tree

23 files changed

+486
-0
lines changed

23 files changed

+486
-0
lines changed

.classpath

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<classpath>
3+
<classpathentry kind="src" output="target/classes" path="src/main/java">
4+
<attributes>
5+
<attribute name="optional" value="true"/>
6+
<attribute name="maven.pomderived" value="true"/>
7+
</attributes>
8+
</classpathentry>
9+
<classpathentry kind="src" path="src/resources"/>
10+
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
11+
<attributes>
12+
<attribute name="optional" value="true"/>
13+
<attribute name="maven.pomderived" value="true"/>
14+
</attributes>
15+
</classpathentry>
16+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
17+
<attributes>
18+
<attribute name="maven.pomderived" value="true"/>
19+
</attributes>
20+
</classpathentry>
21+
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
22+
<attributes>
23+
<attribute name="maven.pomderived" value="true"/>
24+
</attributes>
25+
</classpathentry>
26+
<classpathentry kind="output" path="target/classes"/>
27+
</classpath>

.project

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>SpringDataCassandra</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.jdt.core.javabuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
<buildCommand>
14+
<name>org.eclipse.m2e.core.maven2Builder</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
18+
</buildSpec>
19+
<natures>
20+
<nature>org.eclipse.jdt.core.javanature</nature>
21+
<nature>org.eclipse.m2e.core.maven2Nature</nature>
22+
</natures>
23+
</projectDescription>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
eclipse.preferences.version=1
2+
encoding//src/main/java=UTF-8
3+
encoding//src/test/java=UTF-8
4+
encoding/<project>=UTF-8
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
eclipse.preferences.version=1
2+
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
3+
org.eclipse.jdt.core.compiler.compliance=1.5
4+
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
5+
org.eclipse.jdt.core.compiler.source=1.5
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
activeProfiles=
2+
eclipse.preferences.version=1
3+
resolveWorkspaceProjects=true
4+
version=1

pom.xml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
4+
5+
<groupId>com.test.springdata.example</groupId>
6+
<artifactId>SpringDataCassandra</artifactId>
7+
<version>0.0.1-SNAPSHOT</version>
8+
<packaging>jar</packaging>
9+
10+
<name>SpringDataCassandra</name>
11+
<url>http://maven.apache.org</url>
12+
13+
<properties>
14+
<spring.version>3.2.8.RELEASE</spring.version>
15+
</properties>
16+
17+
<dependencies>
18+
<dependency>
19+
<groupId>junit</groupId>
20+
<artifactId>junit</artifactId>
21+
<version>3.8.1</version>
22+
<scope>test</scope>
23+
</dependency>
24+
<dependency>
25+
<groupId>com.datastax.cassandra</groupId>
26+
<artifactId>cassandra-driver-core</artifactId>
27+
<version>2.0.4</version>
28+
</dependency>
29+
<dependency>
30+
<groupId>org.springframework.data</groupId>
31+
<artifactId>spring-data-cassandra</artifactId>
32+
<version>1.0.0.RELEASE</version>
33+
</dependency>
34+
35+
<!-- Spring 3 dependencies -->
36+
<dependency>
37+
<groupId>org.springframework</groupId>
38+
<artifactId>spring-core</artifactId>
39+
<version>${spring.version}</version>
40+
</dependency>
41+
42+
<dependency>
43+
<groupId>org.springframework</groupId>
44+
<artifactId>spring-context</artifactId>
45+
<version>${spring.version}</version>
46+
</dependency>
47+
</dependencies>
48+
49+
<repositories>
50+
<repository>
51+
<id>spring-milestone</id>
52+
<name>Spring Maven MILESTONE Repository</name>
53+
<url>http://repo.spring.io/libs-milestone</url>
54+
</repository>
55+
</repositories>
56+
57+
</project>
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com.springdata.example;
2+
3+
import org.springframework.context.ApplicationContext;
4+
import org.springframework.context.support.ClassPathXmlApplicationContext;
5+
import org.springframework.data.cassandra.core.CassandraOperations;
6+
7+
import com.datastax.driver.core.querybuilder.QueryBuilder;
8+
import com.datastax.driver.core.querybuilder.Select;
9+
import com.springdata.example.model.Person;
10+
11+
public class Main {
12+
13+
public static void main(String[] args) {
14+
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:application-context.xml");
15+
CassandraOperations cassandraOperations = context.getBean("cassandraTemplate", CassandraOperations.class);
16+
insertPerson(cassandraOperations);
17+
selectPerson(cassandraOperations);
18+
}
19+
20+
private static void selectPerson(CassandraOperations cassandraOperations) {
21+
Select select = QueryBuilder.select().from("person");
22+
System.out.println("Person ID - " + cassandraOperations.queryForObject(select, Person.class));
23+
}
24+
25+
private static void insertPerson(CassandraOperations cassandraOperations) {
26+
cassandraOperations.update(new Person("123123123", "Alison", 35));
27+
}
28+
29+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package com.springdata.example.model;
2+
3+
import org.springframework.data.cassandra.mapping.Column;
4+
import org.springframework.data.cassandra.mapping.PrimaryKey;
5+
import org.springframework.data.cassandra.mapping.Table;
6+
7+
@Table(value = "login_event")
8+
public class LoginEvent {
9+
10+
@PrimaryKey
11+
private LoginEventKey pk;
12+
13+
@Column(value="event_code")
14+
private int eventCode;
15+
16+
@Column(value="ip_address")
17+
private String ipAddress;
18+
19+
public LoginEventKey getPk() {
20+
return pk;
21+
}
22+
23+
public void setPk(LoginEventKey pk) {
24+
this.pk = pk;
25+
}
26+
27+
public int getEventCode() {
28+
return eventCode;
29+
}
30+
31+
public void setEventCode(int eventCode) {
32+
this.eventCode = eventCode;
33+
}
34+
35+
public String getIpAddress() {
36+
return ipAddress;
37+
}
38+
39+
public void setIpAddress(String ipAddress) {
40+
this.ipAddress = ipAddress;
41+
}
42+
43+
44+
45+
}
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
package com.springdata.example.model;
2+
3+
import java.io.Serializable;
4+
import java.util.Date;
5+
6+
import org.springframework.cassandra.core.Ordering;
7+
import org.springframework.cassandra.core.PrimaryKeyType;
8+
import org.springframework.data.cassandra.mapping.PrimaryKeyColumn;
9+
10+
public class LoginEventKey implements Serializable {
11+
12+
@PrimaryKeyColumn(name="person_id", ordinal=0, type=PrimaryKeyType.PARTITIONED)
13+
private String personId;
14+
15+
@PrimaryKeyColumn(name="event_time", ordinal=1, type=PrimaryKeyType.CLUSTERED, ordering = Ordering.DESCENDING)
16+
private Date eventTime;
17+
18+
public String getPersonId() {
19+
return personId;
20+
}
21+
22+
public void setPersonId(String personId) {
23+
this.personId = personId;
24+
}
25+
26+
public Date getEventTime() {
27+
return eventTime;
28+
}
29+
30+
public void setEventTime(Date eventTime) {
31+
this.eventTime = eventTime;
32+
}
33+
34+
@Override
35+
public int hashCode() {
36+
final int prime = 31;
37+
int result = 1;
38+
result = prime * result + ((eventTime == null) ? 0 : eventTime.hashCode());
39+
result = prime * result + ((personId == null) ? 0 : personId.hashCode());
40+
return result;
41+
}
42+
43+
@Override
44+
public boolean equals(Object obj) {
45+
46+
if (this == obj)
47+
return true;
48+
if (obj == null)
49+
return false;
50+
if (getClass() != obj.getClass())
51+
return false;
52+
LoginEventKey other = (LoginEventKey) obj;
53+
if (eventTime == null) {
54+
if (other.eventTime != null)
55+
return false;
56+
} else if (!eventTime.equals(other.eventTime))
57+
return false;
58+
if (personId == null) {
59+
if (other.personId != null)
60+
return false;
61+
} else if (!personId.equals(other.personId))
62+
return false;
63+
return true;
64+
65+
}
66+
67+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.springdata.example.model;
2+
3+
import org.springframework.data.cassandra.mapping.PrimaryKey;
4+
import org.springframework.data.cassandra.mapping.Table;
5+
6+
@Table
7+
public class Person {
8+
9+
@PrimaryKey
10+
private String id;
11+
12+
private String name;
13+
private int age;
14+
15+
public Person(String id, String name, int age) {
16+
this.id = id;
17+
this.name = name;
18+
this.age = age;
19+
}
20+
21+
public String getId() {
22+
return id;
23+
}
24+
25+
public String getName() {
26+
return name;
27+
}
28+
29+
public int getAge() {
30+
return age;
31+
}
32+
33+
@Override
34+
public String toString() {
35+
return "Person [id=" + id + ", name=" + name + ", age=" + age + "]";
36+
}
37+
38+
}

0 commit comments

Comments
 (0)