Java原生API访问MongoDB
1.pom.xml
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.5.0</version> </dependency>
2.Java代码
package cn.duanjt; import java.util.Arrays; import org.bson.Document; import org.bson.conversions.Bson; import org.junit.Before; import org.junit.Test; import com.mongodb.Block; import com.mongodb.MongoClient; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.result.DeleteResult; //注意是静态导入 import static com.mongodb.client.model.Updates.*; import static com.mongodb.client.model.Filters.*; public class MongoDB { MongoClient client;// mongo连接实例 MongoDatabase dataBase;// 数据库 MongoCollection<Document> collection;// 集合,类似于关系型数据库的表 @Before public void init() { client = new MongoClient("192.168.23.24", 27022); dataBase = client.getDatabase("duanjt"); collection = dataBase.getCollection("teacher"); } // 插入一条数据 @Test public void insert() { Document doc = new Document(); doc.append("name", "李四"); doc.append("addr", "重庆"); doc.append("likes", Arrays.asList("排球", "篮球"));// 数组 collection.insertOne(doc);// 插入数据时会自动创建数据库和集合 System.out.println("success"); } // 修改,把李四的爱好修改为 足球和羽毛球 @Test public void update1() { Bson eq = eq("name", "张三"); Bson set = set("likes", Arrays.asList("足球", "羽毛球")); collection.updateMany(eq, set); System.out.println("修改成功"); } // 修改,把李四的爱好新增 足球和羽毛球 @Test public void update2() { Bson eq = eq("name", "李四"); Bson set = pushEach("likes", Arrays.asList("足球", "羽毛球")); collection.updateMany(eq, set); System.out.println("修改成功"); } // 查询爱好足球的老师 @Test public void find() { Bson filter = in("likes", Arrays.asList("足球")); FindIterable<Document> find = collection.find(filter); find.forEach(new Block<Document>() { @Override public void apply(Document t) { System.out.println(t.toJson()); } }); } //删除数据 @Test public void delete() { Bson filter = eq("name", "duanjt"); DeleteResult deleteMany = collection.deleteMany(filter); System.out.println("删除数据:" + deleteMany.getDeletedCount()); } // 删除集合 @Test public void dropCol() { collection.drop(); System.out.println("删除成功"); } }
稍微注意注释部分的代码即可
MongoDB | 关系型数据库 |
数据库 | 数据库 |
集合 | 表 |
文档 | 一行数据 |