基于mongodb的java之增删改查(CRUD)
来源:互联网 发布:中国人 朝鲜 知乎 编辑:程序博客网 时间:2024/05/22 11:38
1,下载驱动https://github.com/mongodb/mongo-java-driver/downloads,导入工程java中
2,建立测试代码
import java.net.UnknownHostException;
import java.util.Set;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoException;
public class TestMain {
public static void main(String[] args) throws UnknownHostException, MongoException {
// Mongo m = new Mongo();//默认本地
// Mongo m = new Mongo("192.168.0.101");//默认端口
Mongo m = new Mongo("192.168.0.101",27017);
//获取名为 alan 的数据库,不存在的情况下创建
DB db = m.getDB("alan");
//获取所有数据库,不显示无collection的db
System.out.println("所有数据库名:"+m.getDatabaseNames());
//获取名为 testCollection 的collection(相当于表),不存在的情况下创建
DBCollection coll = db.getCollection("testCollection");
//向collection中插入值 (可以插条 )
BasicDBObject obj = new BasicDBObject();
obj.put("name","jone");
obj.put("sex", "male");
BasicDBObject info = new BasicDBObject();
info.put("height", 172);
info.put("weight", 65);
obj.put("other",info);
coll.insert(obj);
//获取数据库下所有的collection,不显示无数据的collection
Set<String> colls = db.getCollectionNames();
for(String s : colls){
System.out.println(s);
}
//查询coll中全部记录
DBCursor ite = coll.find();
while(ite.hasNext()){
System.out.println(ite.next());
}
//获取第一条记录
DBObject o = coll.findOne();
System.out.println(o);
//统计colletion的数据条数
System.out.println(coll.getCount());
// 查询 name位 mark的对象
BasicDBObject query = new BasicDBObject();
query.put("name", "mark");
DBCursor it = coll.find(query);
while(it.hasNext()){
System.out.println(it.next());
}
//查询height小于175,weight不等于65的对象
BasicDBObject query2 = new BasicDBObject();
query2.put("other.height", new BasicDBObject("$lt", 175));
query2.put("other.weight", new BasicDBObject("$ne",65));
DBCursor it2 = coll.find(query2);
while(it2.hasNext()){
System.out.println(it2.next());
}
//更新操作
showData(coll);
BasicDBObject old_obj = new BasicDBObject();
old_obj.put("name", "mark");
//这里的new_val对象一定要是find出的而不是new的,否则多字段的情况下就会丢失其它字段信息
DBObject new_val = coll.findOne(old_obj);
new_val.put("name", "zhoulong");
/**这里只能修改一条满足条件的记录,而且根据API用updateMulti方法或者设置update第四个参数也无效,
* 如果要批量跟新就要查询后,循环遍历更新了
*/
coll.update(old_obj, new_val);
showData(coll);
//删除操作
showData(coll);
BasicDBObject rmove = new BasicDBObject();
rmove.put("name", "jone");
coll.remove(rmove);
//coll.findAndRemove(rmove);//可以用findAndRemove删除 ,不过这个方法之能删除一条符合条件的记录
showData(coll);
}
//遍历数据
static void showData(DBCollection col)
{
DBCursor ite = col.find();
while(ite.hasNext())
{
System.out.println(ite.next());
}
}
}
3,参考api,http://api.mongodb.org/java/2.5-pre-/index.html
4,用图形化的界面直观看看新建的库表和插入的数据
- 基于mongodb的java之增删改查(CRUD)
- 基于mongodb的python之增删改查(CRUD)
- 基于mongodb的python之增删改查(CRUD)
- Java操作MongoDB之CRUD(增删改查)
- java 操作mongodb的增删查改 crud
- MongoDB 3.X Crud 增删查改
- MongoDB之java增删改查
- JAVA 之mongodb 增删改查GROUP
- JAVA访问数据库之增删改查(CRUD)
- CRUD增删改查
- 在Node中基于Mongoose对MongoDB进行增删查改(CRUD)操作(一)
- Java MongoDB 增删改查
- Mybatis入门之增删改查(CRUD)
- SpringMVC教程/实例(三):java SpringMVC之REST实现简单的增删改查CRUD
- java中增删改查(CRUD)总结
- oracle的CRUD(增删改查)
- mybatis的增删查改(CRUD)
- Hibernate的增删改查CRUD
- Dispatchmessage debug 模式无法退出
- cookie的使用
- Java数据类型和MySql数据类型对应一览
- Android培训班(34)
- 是谁在我的心里打了个结(二十六)乱七八糟
- 基于mongodb的java之增删改查(CRUD)
- web服务
- web服务
- mpg123 1.13.1 调用测试
- JSP分页
- POI与JXL的比较
- web服务的调用案例
- Linux kernel config and makefile system
- EL表达式