码迷,mamicode.com
首页 > 数据库 > 详细

java 使用mongodb

时间:2018-06-29 15:44:44      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:技术   std   database   ocr   iterable   handle   while   tor   nts   

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")); //获取某个值  
        } 
}

技术分享图片

 

java 使用mongodb

标签:技术   std   database   ocr   iterable   handle   while   tor   nts   

原文地址:https://www.cnblogs.com/chongyou/p/9243594.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!