本来是想写个Java 操作 MongoDB数据库增删查改的Demo的 , 但是最近没有时间 , 只能简单地将之前记录的连接MongoDB的方法贴出来...
等有时间在把完整的增删查改Demo补全吧....
我本地自己装了MongoDB数据库,所以我是在Windos下运行的...
没有Jar包的...看这里....
这些常量..按照自己的实际环境修改吧...如果mongo数据库没有设置用户名和密码,就不用做校验...
private static final String host = "localhost";
private static final int port = 27017;
private static final String userName = "";
private static final String password = "";
private static final String dataBaseName = "mongotest";
private static final String tableName = "user";
版本一 , 注意看 : 我这里使用的是 Mongo mongo = new Mongo(host, port); 来连接的...
public void connMongoDB() throws Exception {
Mongo mongo = new Mongo(host, port);
DB db = mongo.getDB(dataBaseName);
if (!StringUtils.isEmpty(userName) || !StringUtils.isEmpty(password)) {
db.authenticate(userName, password.toCharArray());
}
DBCollection dbCollection = db.getCollection(tableName);
DBCursor dbCursor = dbCollection.find();
while(dbCursor.hasNext()){
Map map = (Map)dbCursor.next();
System.out.println(map);
}
}
结果图:
这个是我的MongoDB数据库
然后是版本2.
注意看啊...这里我使用的是 MongoClient mongoClient = new MongoClient(host,port); 连接MongoDB的...
public void connectMongoDB(){
try{
MongoClient mongoClient = new MongoClient(host,port);
DB db = mongoClient.getDB(dataBaseName);
DBCollection dbCollection = db.getCollection(tableName);
DBCursor dbCursor = dbCollection.find();
while(dbCursor.hasNext()){
System.out.println(dbCursor.next());
}
}catch (Exception e) {
e.printStackTrace();
}
}
虽然他们的结果都是一样的
他们都可以连接MongoDB数据库,但是有什么区别呢?
百度查了下,找到这个文章,分析的不错,有兴趣的可以看下...
不过官方文档和源代码建议使用MongoClient类... 不就的将来会废弃Mongo