zoukankan      html  css  js  c++  java
  • java 使用mongodb

    1.先连接你的mongodb

    看连接是否有问题,代码

    public class MongoDB2 {
    
    	private static MongoDatabase mongoDatabase = null;
    	private static int port = 27017;
    	private static String userName = "XX";
    	private static String password="XX" ;
    	private static String database = "gatp";
    	private static String host="XXX";
    	
    	
    	/**
    	 * mongo db 连接
    	 * 
    	 * 
    	 */
    	public  void mongoConnect() {
    		try {
    			// host和port进行转换
    			encryptionDecryption decryption = new encryptionDecryption();
    			ServerAddress serverAddress = new ServerAddress(host, port);
    			List<ServerAddress> addresses = new ArrayList<ServerAddress>();
    			addresses.add(serverAddress);
    			MongoCredential credential = MongoCredential.createCredential(userName,database, password.toCharArray());
    			List<MongoCredential> credentials = new ArrayList<MongoCredential>();
    			credentials.add(credential);
    			// 通过连接认证获取MongoDB连接
    			MongoClient mongoClient = new MongoClient(addresses, credentials);
    			mongoDatabase = mongoClient.getDatabase(database);
    			Log.logInfo(mongoDatabase);
    		} catch (Exception e) {
    			// TODO: handle exception
    			e.printStackTrace();
    		}
    	}
    
    public static void main(String[] args) {
    		MongoDB2 db=new MongoDB2();
    		db.mongoConnect(); //确认连接正确
    }
    

      连接成功后会显示mogodb的id,错误会显示认证失败

    连接失败的案例

    成功会显示

    2.对mogodb进行数据的插入

    封装的方法insertCollection,插入可数字,字符串,

    	public boolean insertCollection(String collectionName, List<Document> documents) {
    		boolean insertResult = false;
    
    		try {
    			MongoCollection<Document> collection = mongoDatabase.getCollection(collectionName);
    			collection.insertMany(documents);
    			insertResult = true;
    		} catch (Exception e) {
    			// TODO: handle exception
    			e.printStackTrace();
    		}
    		return insertResult;
    	}
    
    public static void main(String[] args) {
    		MongoDB2 db=new MongoDB2();
    		db.mongoConnect(); //确认连接正确
    		Date day=new Date();    
    		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    		//生成json字符串
    		JSONObject json = new JSONObject();
    		json.put("id","1");
    		json.put("name","张三");
    		json.put("pwd","123456");
    		System.out.println(json);
    		
    		Document testDocument = new Document();
    		testDocument.put("times", df.format(day));//插入时间
    		testDocument.put("name","zhangjun" ); //插入名称
    		testDocument.put("info", json.toString()); //插入json字符串
    		
    		List<Document> documents = new ArrayList<Document>();
    		
    		documents.add(testDocument);
    		db.insertCollection("test_log_info", documents);
    	}
    

      

     

    3.查询数据

    /**
    	 * 获取集合
    	 * 
    	 * @param collectionName
    	 *            集合名
    	 * @param testDocument
    	 *            条件 , 支持多对条件
    	 * @return
    	 * 
    	 */
    	public MongoCursor<Document> getCollection(String collectionName, Document testDocument) {
    
    		MongoCursor<Document> mongoCursor = null;
    		try {
    			MongoCollection<Document> collection = mongoDatabase.getCollection(collectionName);
    			FindIterable<Document> resultDocument = collection.find(testDocument);
    			mongoCursor = resultDocument.iterator();
    		} catch (Exception e) {
    			// TODO: handle exception
    			e.printStackTrace();
    		}
    		return mongoCursor;
    	}
    
    public static void main(String[] args) {
    		MongoDB2 db=new MongoDB2();
    		db.mongoConnect(); //确认连接正确
    		
    		Document testDocument = new Document();
    		testDocument.put("name", "zhangjun");
    		MongoCursor<Document> resultDocument = db.getCollection("test_log_info", testDocument);
    		while(resultDocument.hasNext()){  
    			System.out.println(resultDocument.next());//获取所有
    			System.out.println(resultDocument.next().get("_id")); //获取某个值  
            } 
    }

  • 相关阅读:
    python爬虫(二)_HTTP的请求和响应
    python迭代器
    矩阵快速幂
    hdu 2256 Problem of Precision
    牛客练习赛17 ABD
    hdu 1575 Tr A
    hdu 1757 矩阵快速幂
    51nod 1402最大值
    51nod 1393 0和1相等串
    勤奋的杨老师
  • 原文地址:https://www.cnblogs.com/chongyou/p/9243594.html
Copyright © 2011-2022 走看看