mongodb与java结合_[MongoDB]MongoDB与JAVA结合使用CRUD

汇总:

使用起来也相当简单,由于MongoDB是类文件的数据库,所以其操作起来非常方便

首先下载相应的jar包,这里我直接使用Maven自动获取,以下为POM文件中的配置:

junit

junit

4.8.2

org.mongodb

mongo-java-driver

2.7.2

一个MongoDb的jar包和Junit的jar包,即可

后面即可开始编写代码,直接在某个java类的main方法中调用即可:

publicstaticvoidmain(String[] args) throwsException{

//创建一个Mongo实例,默认使用本地“127.0.0.1”, 27017

Mongo mongo1j = newMongo();

//使用IP+端口号创建

Mongo mongo = newMongo(“127.0.0.1”, 27017);

//得到所有数据库的名称

for(String name : mongo.getDatabaseNames()) {

System.out.println(“dbName: “+ name);

}

//取得某个数据库,用于后续对数据库的操作

DB db = mongo.getDB(“student”);

for(String name : db.getCollectionNames()) {

System.out.println(“collectionName: “+ name);

}

//取得对应的集合

DBCollection students = db.getCollection(“student”);

//查询所有集合中的数据

DBCursor cur = students.find();

//遍历集合中的所有内容

while(cur.hasNext()) {

System.out.println(cur.next());

}

System.out.println(“cur.count(): “+ cur.count());

System.out.println(“cur.getCursorId(): “+ cur.getCursorId());

System.out.println(“JSON.serialize(): “+ JSON.serialize(cur));

// DELETE操作

students.remove(newBasicDBObject(“name”, “yangjx”));

System.out.println(“cur.count(): “+ cur.count());

// ADD操作

DBObject student = newBasicDBObject();

student.put(“name”, “yangjx”);

student.put(“age”, 55);

students.save(student);

System.out.println(“cur.count(): “+ cur.count());

// UPDATE操作

DBObject updateObj = newBasicDBObject();

updateObj.put(“age”, 30);

updateObj.put(“name”, “zhangGY”);

updateObj.put(“extra”, “markHere”);

students.update(newBasicDBObject(“age”, 30), updateObj);

System.out.println(JSON.serialize(students.find(newBasicDBObject(“name”, “zhangGY”))));

}

上述代码执行完成之后会打印出如下:

dbName: local

dbName: student

collectionName: colName

collectionName: student

collectionName: system.indexes

{ “_id” : { “$oid” : “555ae83a09668180fadccdeb”} , “age” : 30}

{ “_id” : { “$oid” : “555ae84009668180fadccdec”} , “name” : “zhangYC” , “age” : 29.0 , “sex” : true}

{ “_id” : { “$oid” : “555ae84709668180fadccded”} , “name” : “zhangYYQ” , “age” : 30.0 , “sex” : true}

{ “_id” : { “$oid” : “555aebdb09b332c5a188b620”} , “passwd” : “1234”}

{ “_id” : { “$oid” : “555d80d7b7a5042665b195ae”} , “name” : “yangjx” , “age” : 55}

cur.count(): 5

cur.getCursorId(): 0

JSON.serialize(): [ { “_id” : { “$oid” : “555ae83a09668180fadccdeb”} , “age” : 30} , { “_id” : { “$oid” : “555ae84009668180fadccdec”} , “name” : “zhangYC” , “age” : 29.0 , “sex” : true} , { “_id” : { “$oid” : “555ae84709668180fadccded”} , “name” : “zhangYYQ” , “age” : 30.0 , “sex” : true} , { “_id” : { “$oid” : “555aebdb09b332c5a188b620”} , “passwd” : “1234”} , { “_id” : { “$oid” : “555d80d7b7a5042665b195ae”} , “name” : “yangjx” , “age” : 55}]

cur.count(): 4

cur.count(): 5

[ { “_id” : { “$oid” : “555ae83a09668180fadccdeb”} , “age” : 30 , “name” : “zhangGY” , “extra” : “markHere”}]

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值