JavaMongoDB数据库连接方法梳理

目录

前言

一、MongoDB简介

特点

缺点

MongoDB 应用场景

二、连接MongoDB前的准备工作

下载

创建工程并且导入jar包

java连接MongoDB数据库

增加数据

修改数据

删除一条数据

查询数据

前言

本节将介绍如何设置和使用MongoDB 驱动程序,通过 java实现与MongoDB服务端的通信功能,用户可以在此基础上进行各种Java程序的开发,例如最基本的增删改查操作。

一、MongoDB简介

通过启动mongo进程如Shell环境访问数据库外,MongoDB还提供了其他基于编程语言的访问数据库方法。MongoDB官方提供了Java和Python语言的驱动包,利用这些驱动包可使用多种编程方法来连接并操作MongoDB数据库。本篇文章重点讲解java语言的连接方式。

特点

JSON结构和对象模型接近,开发代码量低

JSON的动态模型意味着更容易响应新的业务需求

复制集提供99.999%高可用

分片架构支持海量数据和无缝扩容

缺点

MongoDB 不支持事务

MongoDB 不能进行多表联查

MongoDB 应用场景

1.社交场景,比如朋友圈,附近的人的地点的存储

2.游戏场景,比如用户当前装备,得分等

3.物流场景,比如快递的位置,状态,途径

4.视频场景,比如直播中的点赞数和互动留言等

MongoDBAPI

二、连接MongoDB前的准备工作 下载

MongoDB官网:MongoDB Community Download | MongoDB

Studio 3T官网:The Professional Client, IDE and GUI for MongoDB | Studio 3T

eclipse官网:Eclipse Downloads | The Eclipse Foundation

创建工程并且导入jar包

idea则在pom.xml中导入坐标

<!-- mongodb链接驱动 --> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> <version>3.6.4</version> </dependency> <!-- Google Gson --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.2</version> </dependency> java连接MongoDB数据库 public class Test01 { public static void main(String[] args) { //查找 //获取对象 MongoClient mc =new MongoClient("localhost",27017); //打印 System.out.println(mc); //获取库对象 MongoDatabase db = mc.getDatabase("myschoolxxx"); //获取库中表的集合 MongoIterable<String> iterable = db.listCollectionNames(); MongoCursor<String> iterator = iterable.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); System.out.println("wod"); } mc.close(); } }

增加数据 package com.ape.conn; import java.util.Date; import org.bson.Document; import com.ape.bean.Student; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; public class Insert { public static void main(String[] args) { //获取对象 MongoClient mc =new MongoClient("localhost",27017); //获取库对象 MongoDatabase db = mc.getDatabase("myschoolxxx"); //获取表对象 MongoCollection<Document> student = db.getCollection("student"); //创建学生对象 Student s = new Student(); s.setSid(6); s.setSname("赵六"); s.setBirthday(new Date()); s.setSsex("女"); s.setClassid(20); //创建爱你一个document独享 Document doc = new Document(); //存入数据 doc.put("sid", s.getSid()); doc.put("sname", s.getSname()); doc.put("birhday", s.getBirthday()); doc.put("ssex", s.getSsex()); doc.put("classid", s.getClassid()); student.insertOne(doc); //释放资源 mc.close(); } }

 Java连接MongoDB的常用方法详解

修改数据

package com.ape.conn; import org.bson.Document; import org.bson.conversions.Bson; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Filters; import com.mongodb.client.result.UpdateResult; public class Update { public static void main(String[] args) { //获取对象 MongoClient mc =new MongoClient("localhost",27017); //获取库对象 MongoDatabase db = mc.getDatabase("myschoolxxx"); //获取表对象 MongoCollection<Document> student = db.getCollection("student"); //修改 //条件对象 Bson eq = Filters.eq("sname","赵六"); //document当选 Document doc = new Document(); doc.put("$set", new Document("ssex","男")); UpdateResult updateOne = student.updateOne(eq, doc); System.out.println(updateOne); mc.close(); } }

可以看到刚开始有三个赵六,修改后只修改了第一个赵六的性别。

删除一条数据 package com.ape.conn; import org.bson.Document; import org.bson.conversions.Bson; import com.google.gson.Gson; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Filters; import com.mongodb.client.result.DeleteResult; public class Delete { public static void main(String[] args) { //获取对象 MongoClient mc =new MongoClient("localhost",27017); //获取库对象 MongoDatabase db = mc.getDatabase("myschoolxxx"); //获取表对象 MongoCollection<Document> student = db.getCollection("student"); //创建删除对象 Bson eq = Filters.eq("sname", "赵六"); DeleteResult deleteOne = student.deleteOne(eq); //删除一条 System.out.println(deleteOne.getDeletedCount()); if(deleteOne.getDeletedCount() > 0) { System.out.println("删除成功"); }else { System.out.println("删除失败"); } mc.close(); } }

查询数据 package com.ape.conn; import java.util.List; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoCursor; import com.mongodb.client.MongoDatabase; import com.mongodb.client.MongoIterable; public class Test01 { public static void main(String[] args) { //查找 //获取对象 MongoClient mc =new MongoClient("localhost",27017); //获取库对象 MongoDatabase db = mc.getDatabase("myschoolxxx"); //获取表对象 MongoCollection<Document> student = db.getCollection("student"); //获取表中数据 FindIterable<Document> find = student.find(); //获取迭代器对象 MongoCursor<Document> iterator2 = find.iterator(); //输出表中数据 while (iterator2.hasNext()) { Document document = (Document) iterator2.next(); System.out.println(document); } //关闭资源 mc.close(); } }

到此这篇关于Java MongoDB数据库连接方法梳理的文章就介绍到这了,更多相关Java MongoDB内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读