三、使用Java驱动类实现对Cassandra的增删改查
1、第一个代码
-
package com.xxx.test;
-
-
import java.util.List;
-
-
-
import com.datastax.driver.core.ResultSet;
-
import com.datastax.driver.core.Cluster;
-
import com.datastax.driver.core.Row;
-
import com.datastax.driver.core.Session;
-
-
-
/**
-
* 实现增删改查的操作
-
* @author Administrator
-
*
-
*/
-
public
class SecondDemo {
-
-
-
public static void main(String[] args) {
-
-
Cluster cluster =
null;
-
Session session =
null;
-
-
try {
-
//定义cluster类
-
cluster = Cluster.builder().addContactPoint(
"127.0.0.1").build();
-
//需要获取session对象
-
session = cluster.connect();
-
//创建键空间 防止发生错误 if not exists
-
String createKeySpaceCQL =
-
"create keyspace if not exists testkeyspace1 with "
-
+
"replication={'class':'SimpleStrategy','replication_factor':1}";
-
session.execute(createKeySpaceCQL);
-
//创建列族
-
String createTableCQL =
-
"create table if not exists testkeyspace1.student(name varchar primary key , age int)";
-
session.execute(createTableCQL);
-
//插入数据
-
String insertCQL =
-
"insert into testkeyspace1.student(name,age) values('zhang',23)";
-
session.execute(insertCQL);
-
//查询
-
String queryCQL =
-
"select * from testkeyspace1.student";
-
ResultSet rs = session.execute(queryCQL);
-
List<Row> dataList = rs.all();
-
for (Row row : dataList) {
-
System.out.println(
"------name" + row.getString(
"name"));
-
System.out.println(
"------age" + row.getInt(
"age"));
-
}
-
//修改
-
String updateCQL =
-
"update testkeyspace1.student set age=40 where name='zhang'";
-
session.execute(updateCQL);
-
rs = session.execute(queryCQL);
-
dataList = rs.all();
-
for (Row row : dataList) {
-
System.out.println(
"------name" + row.getString(
"name"));
-
System.out.println(
"------age" + row.getInt(
"age"));
-
}
-
//删除数据
-
String deleteCQL=
-
"delete from testkeyspace1.student where name='zhang'";
-
session.execute(deleteCQL);
-
rs = session.execute(queryCQL);
-
dataList = rs.all();
-
for (Row row : dataList) {
-
System.out.println(
"------name" + row.getString(
"name"));
-
System.out.println(
"------age" + row.getInt(
"age"));
-
}
-
}
catch (Exception e) {
-
e.printStackTrace();
-
}
-
}
-
}
结果:
2、第二个代码 QueryBuilder
-
import com.datastax.driver.core.Cluster;
-
import com.datastax.driver.core.ResultSet;
-
import com.datastax.driver.core.Row;
-
import com.datastax.driver.core.Session;
-
import com.datastax.driver.core.querybuilder.Insert;
-
import com.datastax.driver.core.querybuilder.QueryBuilder;
-
import com.datastax.driver.core.querybuilder.Select.Where;
-
-
public
class ThirdDemo {
-
-
-
public static void main(String[] args) {
-
-
Cluster cluster =
null;
-
Session session =
null;
-
-
try {
-
//定义cluster类
-
cluster = Cluster.builder().addContactPoint(
"127.0.0.1").build();
-
//需要获取session对象
-
session = cluster.connect();
-
-
//新增数据
-
Insert insert=
-
QueryBuilder.insertInto(
"testkeyspace1",
"student").value(
"name",
"xiaoming").value(
"age",
23);
-
session.execute(insert);
-
-
//查询数据
-
System.out.println(
"------查询数据------");
-
Where select =
-
QueryBuilder.select().all().from(
"testkeyspace1",
"student").where(QueryBuilder.eq(
"name",
"xiaoming"));
-
System.out.println(select);
-
ResultSet rs = session.execute(select);
-
for (Row row : rs.all()) {
-
System.out.println(
"-----name:" + row.getString(
"name"));
-
System.out.println(
"-----age:" + row.getInt(
"age"));
-
}
-
-
//更新数据
-
System.out.println(
"------更新数据------");
-
com.datastax.driver.core.querybuilder.Update.Where update=
-
QueryBuilder.update(
"testkeyspace1",
"student").with(QueryBuilder.set(
"age",
50)).where(QueryBuilder.eq(
"name",
"xiaoming"));
-
System.out.println(update);
-
session.execute(update);
-
rs = session.execute(select);
-
for (Row row : rs.all()) {
-
System.out.println(
"-----name:" + row.getString(
"name"));
-
System.out.println(
"-----age:" + row.getInt(
"age"));
-
}
-
//删除数据
-
System.out.println(
"------删除数据------");
-
com.datastax.driver.core.querybuilder.Delete.Where delete = QueryBuilder.delete().from(
"testkeyspace1",
"student").where(QueryBuilder.eq(
"name",
"xiaoming"));
-
System.out.println(delete);
-
session.execute(delete);
-
rs = session.execute(select);
-
for (Row row : rs.all()) {
-
System.out.println(
"-----name:" + row.getString(
"name"));
-
System.out.println(
"-----age:" + row.getInt(
"age"));
-
}
-
}
catch (Exception e) {
-
e.printStackTrace();
-
}
-
}
-
}
结果:
3、第三个代码 PreparedStatement
-
package com.xxx.test;
-
-
import java.util.List;
-
-
import com.datastax.driver.core.Cluster;
-
import com.datastax.driver.core.PreparedStatement;
-
import com.datastax.driver.core.ResultSet;
-
import com.datastax.driver.core.Row;
-
import com.datastax.driver.core.Session;
-
-
public
class FourthDemo {
-
-
public static void main(String[] args) {
-
-
Cluster cluster =
null;
-
Session session =
null;
-
-
try {
-
//定义cluster类
-
cluster = Cluster.builder().addContactPoint(
"127.0.0.1").build();
-
//需要获取session对象
-
session = cluster.connect();
-
-
PreparedStatement statement =
-
session.prepare(
-
"insert into testkeyspace1.student(name,age) values(?,?)");
-
//为占位符指定值
-
session.execute(statement.bind(
"wangwu",
23));
-
-
//查询
-
String queryCQL =
-
"select * from testkeyspace1.student";
-
ResultSet rs = session.execute(queryCQL);
-
List<Row> dataList = rs.all();
-
for (Row row : dataList) {
-
System.out.println(
"------name" + row.getString(
"name"));
-
System.out.println(
"------age" + row.getInt(
"age"));
-
}
-
-
}
catch (Exception e) {
-
e.printStackTrace();
-
}
-
}
-
}
结果:
参考其他资料;