• Mongodb入门并使用java操作Mongodb


    转载请注意出处:http://blog.csdn.net/zcm101

    最近在学习NoSql,先从Mongodb入手,把最近学习的总结下。

    Mongodb下载安装

    Mongodb的下载安装就不详细说了,Mongodb是绿色免安装的,我装的是win32版本,点击下载,其它版本可以官网上下载,下载完后解压到E:mongodb目录下,即E:mongodbmongodb-2.4.0,新建E:mongodbdata文件夹,data用来存放数据库数据。

    Mongodb启动关闭

    启动命令行

    cd E:mongodbmongodb-2.4.0in

    mongod -dbpath E:mongodbdata     ——即启动数据库,并把E:mongodbdata作为数据库存放路径,默认端口:27017

    关闭的话很简单,直接在命令窗口Ctrl + C

    访问Mongodb数据库

    启动Mongodb的命令窗口不要动,新打开个命令窗口:

    cd E:mongodbmongodb-2.4.0in

    mongo.exe  ——默认访问 localhost:27017

    进去后就可以打些mongodb命令看看了,比如:db,  db.getName()等,更多的命令网上找吧

    java操作mongodb

    不同的语言均可访问mongodb,为了java能访问mongodb,需要下载java驱动,mongo-2.10.1.jar

    在eclipse中新建java项目,并添加mongo-2.10.1.jar,下面是我的测试类

    package com.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;
    
    public class Main {
    	
    	private static Mongo mongo;
    	
    	private static DB db;
    	
    	private static DBCollection userInfos;
    	
    	private static void init() throws UnknownHostException{
    		mongo = new Mongo();
    		db = mongo.getDB("test");
    		for(String colName: db.getCollectionNames()){
    			print(colName);
    		}
    		userInfos = db.getCollection("userInfo");
    	}
    	public static void main(String[] args) {
    		try {
    			init();
    //			db.dropDatabase();
    //			add("test1", 11, "man");
    //			add("test2", 12, "man");
    //			add("test3", 13, "man");
    //			add("test4", 14, "man");
    //			remove("test2", 12, "");
    			findAll();
    		} catch (UnknownHostException e) {
    			e.printStackTrace();
    		}
    	}
    	
    	public static void findAll(){
    		DBCursor cur = userInfos.find();
    		while (cur.hasNext()) {
    			print(cur.next());
    		}
    	}
    	
    	public static void remove(String name, int age, String sex){
    		DBObject userInfo = new BasicDBObject();
    		if(name != null && name != ""){
    			userInfo.put("name", name);
    		}
    		if(age > 0){
    			userInfo.put("age", age);
    		}
    		if(sex != null && sex != ""){
    			userInfo.put("sex", sex);
    		}
    		
    		userInfos.remove(userInfo);
    	}
    	
    	public static void add(String name, int age, String sex) {
    		DBObject userInfo = new BasicDBObject();
    		userInfo.put("name", name);
    		userInfo.put("age", age);
    		userInfo.put("sex", sex);
    		
    		userInfos.insert(userInfo);
    	}
    	
    	public static void print(Object obj){
    		System.out.println(obj);
    	}
    }

    执行过add后,输出结果:

    system.indexes
    userInfo
    { "_id" : { "$oid" : "521eebd8e617429aebd917e1"} , "name" : "test1" , "age" : 11 , "sex" : "man"}
    { "_id" : { "$oid" : "521eebd8e617429aebd917e2"} , "name" : "test2" , "age" : 12 , "sex" : "man"}
    { "_id" : { "$oid" : "521eebd8e617429aebd917e3"} , "name" : "test3" , "age" : 13 , "sex" : "man"}
    { "_id" : { "$oid" : "521eebd8e617429aebd917e4"} , "name" : "test4" , "age" : 14 , "sex" : "man"}

    Mongodb是文档型数据库,数据存储格式是json,不需要初始新建数据库,表,字段等,在连接mongodb并操作时,会自动创建。

    下一篇将会介绍使用spring的mongoTemplate操作mongodb。

  • 相关阅读:
    iOS 列表三级展开
    iOS 聊天界面
    iOS 地图(添加大头针)
    iOS 地图
    swift 快速创建一些基本控件
    swift
    swift
    swift4.2 打印所有系统字体
    Xcode 去掉控制台无用打印信息
    swift
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3290064.html
Copyright © 2020-2023  润新知