Java MongoDB数据库连接方法梳理

目录
  • 前言
  • 一、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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java mongodb连接配置实践

    之前百度,google了很多,发现并没有介绍mongodb生产环境如何配置的文章, 当时想参考下都不行, 所以写篇文章,大家可以一块讨论下. 1. MongoClientOptions中的连接池配置: 配置如下: connectionPoolSettings = ConnectionPoolSettings.builder() .minSize(getMinConnectionsPerHost()) .maxSize(getConnectionsPerHost()) .maxWaitQueueS

  • java连接Mongodb实现增删改查

    本文实例为大家分享了java连接Mongodb实现增删改查的具体代码,供大家参考,具体内容如下 1.创建maven项目 <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artifactId> <version>3.4.1</version> </dependency> 2.编写代码 1.查询所有 package co

  • 详解Java 连接MongoDB集群的几种方式

    先决条件 先运行mongodb肯定是必须的,然后导入以下包: import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; import com.mongodb.ServerAddress; import com.mongodb.MongoCredential; import com.mongodb.MongoClientOptions; MongoClient MongoClient()实例表示到数据库的连接池; 你将只需

  • Java连接MongoDB的常用方法详解

    目录 一.Java链接MongoDB 二.查看库,查看集合 三.Java对MongoDB增删改查 1. 添加数据 2. 删除数据 3. 修改数据 4. 查询数据 一.Java链接MongoDB 1. 导入Mongo驱动包 2. 获取Mongo链接对象 MongoClient mc = new MongoClient("localhost",27017); 3. 关闭链接 mc.close(); 二.查看库,查看集合 1. 获取库对象 MongoDatabase db = mc.getD

  • Java连接MongoDB进行增删改查的操作

    Java连接MongoDB进行增删改查的操作 1.创建数据库的连接,进行增删改查 (分别为接口和实现类) package com.dao; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mo

  • Java的idea连接mongodb数据库的详细教程

    最近有一个java实验,要求用java使用数据库,于是本人新手小白,在idea上卡了好半天 希望看到这个博客的人能解决问题,跳过一些坑 首先,我这里用的是 mongodb 数据库(ps:node.js下mongo太好用了,就没有mysql) 1,用idea创建一个maven工程 由于不牵扯太多功能,直接 next 就行了, 很无奈,创建完就直接报错了 找不到 maven 相关的插件 Cannot resolve plugin org.apache.maven.plugins:maven-comp

  • java连接mongoDB并进行增删改查操作实例详解

    本文实例讲述了java连接mongoDB并进行增删改查操作.分享给大家供大家参考,具体如下: 1.安装 MongoDB JDBC驱动程序 在java中使用mongoDB之前,首先需要拥有java连接mongoDB的第三方驱动包(jar包) 1)maven项目可通过在pom.xml中添加依赖 <dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-ja

  • java实现mongodb的数据库连接池

    MongoDB是介于关系数据库和非关系数据库之间的一种产品,文件的存储格式为BSON(一种JSON的扩展),这里就主要介绍Java通过使用mongo-2.7.3.jar包实现mongodb连接池,具体的java代码实现如下: 数据库连接池配置参数: /** *@Description: mongo连接池配置文件 */ package cn.lulei.mongo.pool; public class MongoConfig { private static String userName;//用

  • Java中获取MongoDB连接的方法详解

    首先是所需jar包,Maven中的配置如下: <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artifactId> <version>3.4.1</version> </dependency> <dependency> <groupId>org.mongodb</groupId>

  • Java MongoDB数据库连接方法梳理

    目录 前言 一.MongoDB简介 特点 缺点 MongoDB 应用场景 二.连接MongoDB前的准备工作 下载 创建工程并且导入jar包 java连接MongoDB数据库 增加数据 修改数据 删除一条数据 查询数据 前言 本节将介绍如何设置和使用MongoDB 驱动程序,通过 java实现与MongoDB服务端的通信功能,用户可以在此基础上进行各种Java程序的开发,例如最基本的增删改查操作. 一.MongoDB简介 通过启动mongo进程如Shell环境访问数据库外,MongoDB还提供了

  • Java实现数据库连接池的方法

    本文实例讲述了Java实现数据库连接池的方法.分享给大家供大家参考.具体如下: package com.kyo.connection; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.Driver; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import j

  • java+MongoDB实现存图片、下载图片的方法示例

    本文实例讲述了java+MongoDB实现存图片.下载图片的方法.分享给大家供大家参考,具体如下: 1.存图片 demo:将某个文件存到mongoDB,这个file可以通过前台参数传入,我这里直接将D://test.png存到mongoDB @RequestMapping("/addFile") @ResponseBody public String addFile(){ MongoClient client = new MongoClient("127.0.0.1"

  • Java 8中 Stream小知识小技巧方法梳理

    目录 前言 只能遍历的一次 Stream 那么为什么流只能遍历一次呢? 流操作 中间操作 终端操作 前言 上篇只是简单的动手操作操作了流(stream),那 stream 到底是什么呢? 官方的简短定义:“从支持数据处理操作的源生成的元素序列” 分成三部分: 元素序列:你可以简单将它类比于一样,不过集合说的是数据的集合,而 stream 重点在于表达计算.如我们之前说到的 filter.map.sorted.limit等等 源:昨天我提到,如果了解过 Liunx 管道命令的朋友们,会知道,Liu

  • 【IntelliJ IDEA】Maven构建自己的第一个Java后台的方法

    本文介绍了Maven构建自己的第一个Java后台的方法,分享给大家,具体如下: 1.知识后顾 关于如何运用Maven构建自己的第一个项目,上期我已经详细的讲解过了,上篇链接:今天我以SpringMvc,Mybatis框架搭建一个属于你自己的Java后台. 2.必要准备 ①IntelliJ IDEA,Maven环境搭好 ②熟悉掌握MyBatis,SpringMVC等框架 ③mysql数据库的创建 3.整体架构布局 4.具体步骤 ①在pom.xml中配置工程要使用的jar包 <?xml versio

  • Spark整合Mongodb的方法

    Spark介绍 按照官方的定义,Spark 是一个通用,快速,适用于大规模数据的处理引擎. 通用性:我们可以使用Spark SQL来执行常规分析, Spark Streaming 来流数据处理, 以及用Mlib来执行机器学习等.Java,python,scala及R语言的支持也是其通用性的表现之一. 快速: 这个可能是Spark成功的最初原因之一,主要归功于其基于内存的运算方式.当需要处理的数据需要反复迭代时,Spark可以直接在内存中暂存数据,而无需像Map Reduce一样需要把数据写回磁盘

  • Java 模拟数据库连接池的实现代码

    前面学习过等待 - 通知机制,现在我们在其基础上添加一个超时机制,模拟从连接池中获取.使用和释放连接的过程.客户端获取连接的过程被设定为等待超时模式,即如果在 1000 毫秒内无法获取到可用连接,将会返回给客户端一个 null.设定连接池的大小为 10 个,然后通过调节客户端的线程数来模拟无法获取连接的场景 由于 java.sql.Connection 只是一个接口,最终实现是由数据库驱动提供方来实现,考虑到本例只是演示,我们通过动态代理构造一个 Connection,该 Connection

  • Java Dubbo框架知识点梳理

    1.Dubbo是什么 Dubbo 是一个分布式.高性能.透明化的 RPC 服务框架,提供服务自动注册.自动发现等高效服务治理方案, 可以和 Spring 框架无缝集成. RPC 指的是远程调用协议,也就是说两个服务器交互数据. 2.Dubbo的由来 互联网的快速发展,Web应用程序的规模不断扩大,一般会经历如下四个发展阶段. 单一应用架构:当网站流量很小时,只需一个应用,将所有功能都部署在一起即可. 垂直应用架构:当访问量逐渐增大,单一应用按照有业务线拆成多个应用,以提升效率.此时,用于加速前端

  • Java操作数据库连接池案例讲解

    数据库连接池 概念:其实就是一个容器(集合),存放数据库连接的容器. 概念:其实就是一个容器(集合),存放数据库连接的容器. 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器. 好处: 节约资源 用户访问高效 实现: 标准接口:DataSource javax.sql包下的 方法: 获取连接:getConnection() 归还连接:Connection.close().如果连接对象Connection是从

  • 详细说明关于Java的数据库连接(JDBC)

    目录 Java的数据库连接(JDBC) 1.什么是JDBC 2.JDBC的原理 3.演示JDBC的使用 4.数据库连接方式 5.JDBC的查询 6.SQL注入 7.预处理查询 7.1 查询 已解决注入问题 7.2 插入,更新,删除 8.工具类开发 9.JDBC事务 10.批处理 11.数据库连接池 11.1 数据库连接池基本介绍 11.2 JDBC的数据库连接池使用 11.3 数据库连接池的种类 11.4 C3P0连接池 11.5 Druid连接池 12.Apache-DBUtils 12.1

随机推荐