源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java操作mongodb实现CURD功能实例

  • 时间:2020-12-13 11:36 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java操作mongodb实现CURD功能实例
先下载相应的驱动:官网上下载:[url=http://central.maven.org/maven2/org/mongodb/mongo-java-driver/]http://central.maven.org/maven2/org/mongodb/mongo-java-driver/[/url] 本文使用mongo-2.10.1.jar版本: 下面有详细代码的,每个方法可以单独执行。其中为了方便运行,每个方法中都重新链接数据库,而没有再提出来,因为在此的目的是为了认识mongodb而已。
[u]复制代码[/u] 代码如下:
package com.mongo.dao; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.Mongo; /** * 对基本实体的存储测试 * @author lhy * */ public class EntityTest {      public static void main(String[] args) throws Exception{           delete();      }      /**      * 保存实体对象      * @throws Exception      */      public static void saveEntity() throws Exception{           //第一:实例化mongo对象,连接mongodb服务器  包含所有的数据库           //默认构造方法,默认是连接本机,端口号,默认是27017           //相当于Mongo mongo =new Mongo("localhost",27017)           Mongo mongo =new Mongo();           //第二:连接具体的数据库           //其中参数是具体数据库的名称,若服务器中不存在,会自动创建           DB db=mongo.getDB("myMongo");           //第三:操作具体的表          //在mongodb中没有表的概念,而是指集合           //其中参数是数据库中表,若不存在,会自动创建           DBCollection collection=db.getCollection("user");           //添加操作           //在mongodb中没有行的概念,而是指文档           BasicDBObject document=new BasicDBObject();           document.put("id", 1);           document.put("name", "小明"); //          //然后保存到集合中 //     //     collection.insert(document);                    //当然我也可以保存这样的json串 /*          {                "id":1,                "name","小明",                "address":                {                "city":"beijing",                "code":"065000"                }           }*/           //实现上述json串思路如下:           //第一种:类似xml时,不断添加           BasicDBObject addressDocument=new BasicDBObject();           addressDocument.put("city", "beijing");           addressDocument.put("code", "065000");           document.put("address", addressDocument);           //然后保存数据库中           collection.insert(document);           //第二种:直接把json存到数据库中 /*          String jsonTest="{'id':1,'name':'小明',"+                    "'address':{'city':'beijing','code':'065000'}"+                     "}";          DBObject dbobjct=(DBObject)JSON.parse(jsonTest);          collection.insert(dbobjct);*/         }      /**      * 遍历所有的      * @throws Exception      */      public static void selectAll() throws Exception{           //第一:实例化mongo对象,连接mongodb服务器  包含所有的数据库           //默认构造方法,默认是连接本机,端口号,默认是27017           //相当于Mongo mongo =new Mongo("localhost",27017)           Mongo mongo =new Mongo();           //第二:连接具体的数据库           //其中参数是具体数据库的名称,若服务器中不存在,会自动创建           DB db=mongo.getDB("myMongo");           //第三:操作具体的表          //在mongodb中没有表的概念,而是指集合           //其中参数是数据库中表,若不存在,会自动创建           DBCollection collection=db.getCollection("user");           //查询操作           //查询所有           //其中类似access数据库中游标概念           DBCursor cursor=collection.find();           System.out.println("mongodb中的user表结果如下:");           while(cursor.hasNext()){                System.out.println(cursor.next());           }      }      /**      * 根据条件查询      * @throws Exception      */      public static void selectPart() throws Exception{           //第一:实例化mongo对象,连接mongodb服务器  包含所有的数据库           //默认构造方法,默认是连接本机,端口号,默认是27017           //相当于Mongo mongo =new Mongo("localhost",27017)           Mongo mongo =new Mongo();           //第二:连接具体的数据库           //其中参数是具体数据库的名称,若服务器中不存在,会自动创建           DB db=mongo.getDB("myMongo");           //第三:操作具体的表          //在mongodb中没有表的概念,而是指集合           //其中参数是数据库中表,若不存在,会自动创建           DBCollection collection=db.getCollection("user");               //可以直接put           BasicDBObject queryObject=new BasicDBObject();           queryObject.put("id", 1);           DBCursor querycursor=collection.find(queryObject);           System.out.println("条件查询如下:");           while(querycursor.hasNext()){                System.out.println(querycursor.next());           }      }      /**      * 更新操作      * 更新一条记录      * @throws Exception      */      public static void update()throws Exception{           //第一:实例化mongo对象,连接mongodb服务器  包含所有的数据库           //默认构造方法,默认是连接本机,端口号,默认是27017           //相当于Mongo mongo =new Mongo("localhost",27017)           Mongo mongo =new Mongo();           //第二:连接具体的数据库           //其中参数是具体数据库的名称,若服务器中不存在,会自动创建           DB db=mongo.getDB("myMongo");           //第三:操作具体的表          //在mongodb中没有表的概念,而是指集合           //其中参数是数据库中表,若不存在,会自动创建           DBCollection collection=db.getCollection("user");           //更新后的对象 //          第一种更新方式           BasicDBObject newBasicDBObject =new BasicDBObject();           newBasicDBObject.put("id", 2);           newBasicDBObject.put("name", "小红");           collection.update(new BasicDBObject().append("id", 1),newBasicDBObject); //          第二种更新方式 //          更新某一个字段 //          BasicDBObject newBasicDBObject =new BasicDBObject().append("$set",new BasicDBObject().append("name", "小红") ); //          collection.update(new BasicDBObject().append("id", 1).append("name", "小明"),newBasicDBObject);                    DBCursor querycursor1=collection.find();           System.out.println("更新后结果如下:");           while(querycursor1.hasNext()){                System.out.println(querycursor1.next());           }      }      /**      * 删除文档,其中包括删除全部或删除部分      * @throws Exception      */      public static void delete() throws Exception{           //第一:实例化mongo对象,连接mongodb服务器  包含所有的数据库           //默认构造方法,默认是连接本机,端口号,默认是27017           //相当于Mongo mongo =new Mongo("localhost",27017)           Mongo mongo =new Mongo();           //第二:连接具体的数据库           //其中参数是具体数据库的名称,若服务器中不存在,会自动创建           DB db=mongo.getDB("myMongo");           //第三:操作具体的表          //在mongodb中没有表的概念,而是指集合           //其中参数是数据库中表,若不存在,会自动创建           DBCollection collection=db.getCollection("user");           BasicDBObject queryObject1=new BasicDBObject();           queryObject1.put("id", 2);           queryObject1.put("name","小红");           //删除某一条记录          collection.remove(queryObject1);           //删除全部           //collection.drop();           DBCursor cursor1=collection.find();           System.out.println("删除后的结果如下:");           while(cursor1.hasNext()){                System.out.println(cursor1.next());           }          }     }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部