关于Mongdb的java的CRUD操作

package mongodb;

import java.net.UnknownHostException;
import java.util.List;

import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.Mongo;

public class MongoCRUD {

public static void main(String[] args) {
try {

这样就创建了一个MongoDB的数据库连接对象,它默认连接到当前机器的localhost地址,端口是27017。
Mongo mongo = new Mongo();

也可以这样 连接数据库

//MongoClient mongoClient = new MongoClient( "localhost" , 27017 );

//获得所有数据库名字
List<String> list = mongo.getDatabaseNames();
for (String dbName : list) {
System.out.println("DataBaseName="+dbName);
}

//得到数据库 如果没有,则创建
DB db = mongo.getDB("myTest");

//获取db数据库的所有表名(在这里用集合表示)
Set<String> set = db.getCollectionNames();
for (String string : set) {
System.out.println("tablesName="+string);
}

//得到该数据库的表 如果没有,则创建
DBCollection coll = db.getCollection("myTables");

//第一种方式用BasicDBObject插入JSON格式数据
BasicDBObject dbObject1 = new BasicDBObject();
dbObject1.append("id", 1).append("name", "jerry").append("age", 23).append("job", "程序员").append("address", "深圳");

BasicDBObject dbObject2 = new BasicDBObject();
dbObject2.put("id", 2);
dbObject2.put("name", "enen");
dbObject2.put("age", 22);
dbObject2.put("address", "惠州");
dbObject2.put("jerry", dbObject1);
coll.insert(dbObject2);

//第二种用BasicDBObjectBuilder

BasicDBObjectBuilder documentBuilder = BasicDBObjectBuilder.start()
.add("database", "mkyongDB")
.add("table", "hosting");
BasicDBObjectBuilder documentBuilderDetail = BasicDBObjectBuilder.start()
.add("records", "99")
.add("index", "vps_index1")
.add("active", "true");
documentBuilder.add("detail", documentBuilderDetail.get());
coll.insert(documentBuilder.get());

//第三种用Map对象

Map documentMap =new HashMap();
documentMap.put("database", "mkyongDB");
documentMap.put("table", "hosting");
Map documentMapDetail =new HashMap();
documentMapDetail.put("records", "99");
documentMapDetail.put("index", "vps_index1");
documentMapDetail.put("active", "true");
documentMap.put("detail", documentMapDetail);
coll.insert(new BasicDBObject(documentMap));

// 第四种方法,也就是最简单的,即直接插入JSON格式数据
String json ="{‘database‘ : ‘mkyongDB‘,‘table‘ : ‘hosting‘,"+
"‘detail‘ : {‘records‘ : 99, ‘index‘ : ‘vps_index1‘, ‘active‘ : ‘true‘}}}";
DBObject dbObject =(DBObject)JSON.parse(json);
coll.insert(dbObject);

//查询所有的数据
DBCursor cursor = coll.find();
System.out.println(cursor.count());
while(cursor.hasNext()){
System.out.println(cursor.next());
}

//删除  找到第一个删除
DBObject findOne = coll.findOne();
coll.remove(findOne);

System.out.println("修改前------------------------");

DBObject updateCondition=new BasicDBObject();
updateCondition.put("name", "enen");

DBObject updatedValue=new BasicDBObject();
updatedValue.put("age", 3);
updatedValue.put("address", "boss");

DBObject updateSetValue=new BasicDBObject("$set",updatedValue);
coll.update(updateCondition, updateSetValue,true,false);//后面两个参数设置,前面一个是where条件不存在时,插入数据。后面一个是是否修改多条记录。
System.out.println("修改后---------------");
DBCursor find = coll.find();
while(find.hasNext()){
DBObject next = find.next();
System.out.println(next);
}

System.out.println(JSON.serialize(cursor));

} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

在这里因为没什么时间,所有没有抽取到方法,通过方法调用,挤在一个主类中,有时间在把他重构。

时间: 2024-11-13 13:38:07

关于Mongdb的java的CRUD操作的相关文章

mongoDB Java SDK CRUD操作例子

Example: package com.sdfwerwer.test; import java.net.UnknownHostException; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.Mongo; i

MongoDB对图片进行CRUD操作——与JAVA结合

上几篇博客简单对MongoDB进行了简单介绍和如何安装,以及在dos下是如何操作MongoDB和在安装MongoDB中,出现了什么错误,是如何解决的.当然这些都还不够,我们还要用到实际当中去.我用MyEclipse+JDK1.7做了一个简单的demo,来展示下MongoDB怎么运用到实际中去. MongoDB作为一个NoSql数据库的代表,存取多媒体数据,应该是强项吧?那么,在MongoDB中是如何对图片进行CRUD操作的. 上几篇博客中已经提到,MongoDB的文档结构是BSON格式,BSON

[原创]java WEB学习笔记6:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

JAVA实现DAO基本层CRUD操作

随着shh2各种操作方便框架.越来越多JAVA WEB效率,可是,假设在不了解这些框架使用的场合的情况下,一拿到项目就盲目地选择这些框架进行系统架构的搭建,就有可能造成非常多不是必需的资源浪费. 在项目开发中.对数据库的CRUD操作我们一般都是无法避免的操作,尽管hibernate封装的非常完美,可是.因为本人对这个框架的底层原理不是非常了解,每次使用的时候心里总认为没底.代码一旦出现异常,非常多时候都没法高速有效地解决.因此,为了让代码异常处理风险控制在自己的可控范围内,还是决定先将数据的CR

JAVA实现DAO层基本CRUD操作

随着shh2框架各种操作的便利性,越来越多的JAVA WEB开发人员选择通过加入这些框架以提高开发效率,但是,如果在不了解这些框架使用的场合的情况下,一拿到项目就盲目地选择这些框架进行系统架构的搭建,就有可能造成很多没必要的资源浪费. 在项目开发中,对数据库的CRUD操作我们一般都是无法避免的操作,虽然hibernate封装的很完美,但是,由于本人对这个框架的底层原理不是很了解,每次使用的时候心里总觉得没底,代码一旦出现异常,很多时候都没法快速有效地解决,因此,为了让代码异常处理风险控制在自己的

java oop第09章_JDBC02(CRUD操作)

第09章_JDBC02(CRUD操作) CRUD(CREATE . RETIVE . UPDATE . DELETE)增删改查. DAO中会提供一些CRUD操作方法,调用者可以通过调用这些方法完成相应操作,本章讨论DAO中需要提供一些什么方法? 一.     Dao常用的方法 1.     增加的方法: 通常需要传入实体对象携带所有属性值,作为插入的数据:返回的是受影响的行数(int类型). 如:insertDept(Dept dept) 2.     删除的方法:通常需要传入id(指的是数据表

Java实战之02Hibernate-01简介、常用接口、CRUD操作

一.Hibernate简介 1.Hibernate在开发中所处的位置 2.ORM映射 Object :面向对象领域的 Relational:关系数据库领域的 Mapping:映射 Object: Relational public class Person{ create table presons( private String name; name varchar(100), private int age; age int // getter and setter } ); new Per

使用MyBatis对表执行CRUD操作

一.使用MyBatis对表执行CRUD操作——基于XML的实现 1.定义sql映射xml文件 userMapper.xml文件的内容如下: 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-ma

Mybatis学习(二) - CRUD操作(增删改查操作)

直接上例子: 1.项目结构: 2.具体代码及配置 User.java package com.mybatis.bean; public class User { private int id; private String name; private int age; public User(int id, String name, int age) { this.id = id; this.name = name; this.age = age; } public User(){} publi