第三章:Java连接MongoDB和简单的CRUD
第一步:准备工作:
首先下载驱动包:https://github.com/mongodb/mongo-java-driver/downloads
建立一个Java工程,导入下载下来的驱动包
第二步:Java连接MongoDB(在此之前需启动Mongo的服务和数据库)
简单的测试代码如下:
package com.yf.mongodb;
import java.net.UnknownHostException;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.Mongo;
public class GetConnection {
public GetConnection() {
// TODO Auto-generated constructor stub
}
/**
* @param args
*/
public static void main(String[] args) {
Mongo mongo = null;
try {
//创建一个Mongo实例
mongo = new Mongo("localhost", 27017);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("The Database names are : "
+ mongo.getDatabaseNames());
System.out.println("The Database diver version is : "
+ mongo.getVersion());
//获取一个数据库
DB db = mongo.getDB("test");
System.out.println("The Test connections are : "
+ db.getCollectionNames());
//获取数据库连接
DBCollection conns = db.getCollection("student");
//获取数据库游标
DBCursor cur = conns.find();
while (cur.hasNext()) {
System.out.println(cur.next());
}
System.out.println(cur.count());
System.out.println(cur.getCursorId());
//数据库关闭和垃圾回收
if (cur != null)
cur.close();
cur = null;
conns = null;
db = null;
mongo = null;
System.gc();
}
}
第三步,进行简单的CRUD
首先,建立一个工具类,用于数据库连接,关闭等操作
package com.yf.mongodb;
import java.net.UnknownHostException;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.Mongo;
public class MongoDBTools {
private static String URL = "localhost";
private static int port = 27017;
private static Mongo mongo = null;
private static DB db = null;
private static DBCollection conns = null;
//
public static DBCollection getConnection(String URL, int port,
String DBName, String connctionName) {
try {
mongo = new Mongo(URL, port);
db = mongo.getDB(DBName);
conns = db.getCollection(connctionName);
return conns;
} catch (UnknownHostException e) {
conns = null;
db = null;
mongo = null;
e.printStackTrace();
return null;
}
}
public static DBCollection getConnection(String DBName, String connctionName) {
return getConnection(URL, port, DBName, connctionName);
}
}
下面在编写一个CRUD的测试类,主要涉及一些简单的增删改查
package com.yf.mongodb;
import org.bson.types.ObjectId;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
public class CRUDTest {
private DBCollection dbConnection = null;
private final String DBName = "test";
private final String connectionName = "student";
private DBCursor cur = null;
@Before
public void init() {
dbConnection = MongoDBTools.getConnection(DBName, connectionName);
}
@After
public void destory() {
if (cur != null) {
cur.close();
}
cur = null;
dbConnection = null;
}
private void queryAndPrintAll(){
System.out.println("The query resulr is : ");
cur=this.dbConnection.find();
while(cur.hasNext()){
System.out.print(cur.next());
}
System.out.println("The query count is : "+cur.count());
}
@Test
public void add(){
queryAndPrintAll();
DBObject user = new BasicDBObject();
user.put("name", "yangfei");
user.put("age", 25);
user.put("sex", "男");
//保存数据
System.out.println(this.dbConnection.save(user).getN());
System.out.println(this.dbConnection.insert(new BasicDBObject("name","tome")).getN());
queryAndPrintAll();
}
@Test
public void remove(){
queryAndPrintAll();
System.out.println("删除id = 505eaa05c622fccace09cd2d:" + dbConnection.remove(new BasicDBObject("_id", new ObjectId("505eaa05c622fccace09cd2d"))).getN());
queryAndPrintAll();
}
@Test
public void modify(){
queryAndPrintAll();
System.out.println(dbConnection.update(new BasicDBObject("_id", new ObjectId("505eab57c622a6b21cb3d71c")), new BasicDBObject("age", 99)).getN());
queryAndPrintAll();
}
@Test
public void query(){
System.out.println("find id = 505ecab7c62264f0f3b2e03b: " + dbConnection.find(new BasicDBObject("_id", new ObjectId("505ecab7c62264f0f3b2e03b"))).toArray());
}
}
关于MongoDB的java API,可以在如下网站查看具体资料,
mongoDB对Java的相关支持、技术:http://www.mongodb.org/display/DOCS/Java+Language+Center
驱动源码下载:https://download.github.com/mongodb-mongo-java-driver-r2.6.1-7-g6037357.zip
在线查看源码:https://github.com/mongodb/mongo-java-driver
分享到:
相关推荐
MongoDB 具有强大的查询和索引功能,并且支持各种语言的驱动程序,例如 Java、Python、C#等。在互联网应用和移动应用领域,MongoDB 被广泛用于处理大规模的数据和高并发的读写访问。 MongoDB 的安装与配置是 ...
- **驱动程序选择**:MongoDB支持多种语言的驱动程序,如Python、Java、Node.js等,选择合适的驱动有助于简化开发。 - **设计API**:如何设计RESTful API,使应用与MongoDB交互更高效、简洁。 - **错误处理与异常...
然后,《Mongodb之java操作.doc》将详细介绍如何在Java应用程序中集成和使用MongoDB。Java驱动程序是连接MongoDB的主要方式,文档可能涵盖以下内容: 1. 添加MongoDB Java驱动程序依赖:通常通过Maven或Gradle添加`...
MongoClient mongoClient = MongoClients.create("mongodb://username:password@localhost:27017"); ``` 然后,我们从`MongoClient`获取到`MongoDatabase`和`MongoCollection`对象,这代表了我们的数据库和集合。...
### MongoDB Java Driver 简单操作详解 #### 一、简介 MongoDB 是一款非常流行的文档型数据库系统,因其灵活性和高性能而被广泛应用于多种场景之中。为了方便开发者使用 Java 进行开发,MongoDB 提供了官方的 Java ...
将一系列图片文件存储到MongoDB中 java操作mongodb存储文件
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017"); ``` 4. 使用基本操作: - 连接数据库:`MongoDatabase db = mongoClient.getDatabase("databaseName");` - 操作集合:`...
2. **连接MongoDB**:使用`MongoClients.create()`方法建立到MongoDB服务器的连接,如`MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017")`。 3. **操作数据库和集合**:通过`mongoClient...
**三、通过Java操作MongoDB** 1. **引入MongoDB驱动**: 创建Java项目,并导入MongoDB的Java驱动包。 2. **连接MongoDB**: 使用`MongoClient`类实例化一个MongoDB客户端,传入服务器地址和端口号。 3. **选择...
MongoClient mongoClient = MongoClients.create("mongodb://root:root@localhost:27017"); // 获取名为"mydb"的数据库 MongoDatabase database = mongoClient.getDatabase("mydb"); ``` 现在,你可以对数据库进行...
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017"); ``` 五、数据库与集合操作 1. 获取数据库:使用`MongoDatabase`对象表示数据库,例如`mydb`。 ```java MongoDatabase database = ...
在Java中,你可以使用`MongoDatabase.startSession()`开始一个会话,然后在会话内执行一系列操作。 以上是使用Java进行MongoDB CRUD操作的基本示例。实际应用中,还需要考虑错误处理、连接管理、性能优化等因素。...
在这个“MongoDB之Java使用例子”中,我们将深入探讨如何在Java环境中操作MongoDB数据库,包括增、删、改、查(CRUD)操作以及图像数据的存储和检索。 首先,Java与MongoDB的交互主要通过MongoDB的Java驱动程序实现...
2. 连接池实现:可能是第三方库,如HikariCP或Apache DBCP2,它们提供了连接池的实现,可以被MongoDB Java驱动程序使用。 3. 示例代码:展示如何配置和使用连接池,包括初始化、获取连接、归还连接等操作。 4. 配置...
Java操作MongoDB主要涉及到的是Java驱动程序与MongoDB数据库之间的交互,这涵盖了创建连接、执行CRUD(创建、读取、更新、删除)操作等一系列基本的数据库管理任务。MongoDB是一个流行的NoSQL数据库,以其灵活性、高...
### MongoDB在Java中的应用 #### 一、MongoDB简介与安装步骤 ...通过上述步骤,我们可以在Java环境中高效地使用MongoDB进行数据管理和操作。这种方式不仅提高了开发效率,还增强了应用程序的性能和可维护性。
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017"); MongoDatabase database = mongoClient.getDatabase("myDatabase"); System.out.println("Connected to MongoDB!"); mongoClient...
【Java 操作 MongoDB 知识点详解】 MongoDB 是一个流行的开源、分布式文档数据库系统,以其灵活性、高性能和高可用性而受到欢迎。在 Java 开发环境中,可以通过 MongoDB 的 Java 驱动程序来实现对 MongoDB 数据库的...
Java执行CMD命令及MongoDB...总结,Java执行CMD命令和MongoDB脚本是Java开发中常见的功能,它们能帮助我们更好地整合系统资源,实现自动化操作。理解并熟练掌握这些技术,对于提升开发效率和维护复杂系统具有重要意义。