pom文件中导入驱动

<!-- MongoDB驱动 -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.12.7</version>
</dependency>

示例代码

import com.mongodb.*;

import java.net.UnknownHostException;
import java.util.Date;
import java.util.Set; public class TestController { private static final String MONGO_HOST = "localhost";
private static final Integer MONGO_PORT = 27017;
private static final String MONGO_USERNAME = "test";
private static final String MONGO_PASSWORD = "1234";
private static final String MONGO_DB_NAME = "mongo-db-test";
private static final String MONGO_COLLECTION_NAME = "mongo-collection-test"; public static void main(String[] args) throws UnknownHostException { // 获取Mongo客户端
MongoClient mongoClient = new MongoClient(MONGO_HOST, MONGO_PORT);
/**
* 1.获取所有db名称并打印(mongodb未开启auth认证下可用)
*/
/*List<String> databaseNames = mongoClient.getDatabaseNames();
System.out.println(MONGO_HOST + ":" + MONGO_PORT.toString() + "包含如下数据库:");
for (String databaseName : databaseNames) {
System.out.println(databaseName);
}*/ /**
* 2.获取到指定db(若不存在,则mongo会创建该db)
*/
DB db = mongoClient.getDB(MONGO_DB_NAME);
// 2.1用户名&密码校验
boolean auth = db.authenticate(MONGO_USERNAME, MONGO_PASSWORD.toCharArray());
if (!auth) {
System.out.println(MONGO_DB_NAME + " connection failed!");
return;
}
System.out.println(MONGO_DB_NAME + " connection success!"); // 2.2获取该db下所有集合名称并打印
Set<String> collectionNames = db.getCollectionNames();
System.out.println(db.getName() + "包含如下集合:");
for (String collectionName : collectionNames) {
System.out.println(collectionName);
} // 2.3获取指定集合(若不存在,则mongo会创建该集合)
DBCollection collection = db.getCollection(MONGO_COLLECTION_NAME); /**
* 3.增删查改
*/
// 3.1插入一条文档
BasicDBObject document = new BasicDBObject();
document.put("name", "Cheung");
document.put("age", 24);
document.put("address", "Beijing");
document.put("date", new Date());
collection.insert(document); // 3.2查询一条文档
BasicDBObject searchObj = new BasicDBObject();
searchObj.put("name", "Cheung");
DBCursor cursor = collection.find(searchObj);
if (cursor.hasNext()) {
System.out.println("查询到的文档为:");
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
} else {
System.out.println("该文档不存在!");
} // 3.3修改一条文档
BasicDBObject newDocument = new BasicDBObject();
newDocument.put("name", "Cheung-updated");// 新文档
BasicDBObject updateObj = new BasicDBObject();
updateObj.put("$set", newDocument);
collection.update(searchObj, updateObj);// 更新 // 3.4查询修改后的文档(修改确认)
DBCursor cursor2 = collection.find(newDocument);
if (cursor2.hasNext()) {
System.out.println("修改后的文档为:");
while (cursor2.hasNext()) {
System.out.println(cursor2.next());
}
} else {
System.out.println("该文档不存在!");
} // 3.5删除该文档
collection.remove(newDocument); // 3.6查询该文档是否存在(删除确认)
DBCursor cursor3 = collection.find(newDocument);
if (cursor3.hasNext()) {
System.out.println("查询到的文档为:");
while (cursor3.hasNext()) {
System.out.println(cursor3.next());
}
} else {
System.out.println("该文档不存在!");
} } }

JDBC连接MongoDB的更多相关文章

  1. JDBC连接SQL Server代码模板

    *                  JDBC连接SQL Server数据库 代码模板* Connection: 连接数据库并担任传送数据的任务:* Statement :  执行SQL语句:* Re ...

  2. JDBC连接MySQL数据库代码模板

    下面这个例子是最简单的JDBC连接MySQL数据库的例子. 一般步骤: 1.注册驱动: 2.建立连接: 3.创建语句: 4.处理结果: 5.释放资源. 注意: 1.软件开发环境:MyEclipse 8 ...

  3. Java操作Sqlite数据库-jdbc连接

    Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...

  4. nodejs连接mongodb的方法

    一. var express = require('express'); var mongodb = require('mongodb'); var app = express(); app.use( ...

  5. Field 'id' doesn't have a default value(jdbc连接错误)

    JDBC 连接错误: 编写数据库连接增添数据时,出现以下错误: error : java.sql.SQLException: Field 'id' doesn't have a default val ...

  6. JDBC连接MySQL 方法 实例及资料收集

    JDBC连接MySQL 方法 实例及资料收集 准备工作 首先,安装MySQL,配置用户名和密码,创建数据库. 可参见之前的文章: http://www.cnblogs.com/mengdd/p/315 ...

  7. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  8. Java使用JDBC连接MySQL数据库

    1.引用 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写 ...

  9. jdbc连接oracle数据库

    /*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...

随机推荐

  1. Intel汇编语言程序设计学习-第五章 过程-下

    5.3.3  库测试程序 测试程序#1:整数I/O 该测试程序把输出文本的颜色改为蓝底黄字,然后以十六进制数显示七个数组的内容,最后提示用户输入一个有符号整数,再分别以十进制.十六进制和二进制格式重复 ...

  2. WPF之事件绑定命令

    目录 事件绑定意义 无参数的事件绑定 带EventArgs参数的事件绑定 使用事件绑定 扩展:基于InvokeCommandAction源码的实现(推荐) 参考资料 事件绑定意义 一般事件的处理程序都 ...

  3. Ravindrababu Ravula老师的数据结构与算法

    最关键的问题是,作为印度裔,他的英语口音真的真的很好懂!!!而且语速很慢,适合大家学习. 作为一哥热衷于搬砖的小伙,我将他的视频搬运到了B站,大家可以前往我的B站观看,搜索"爱码士Noe&q ...

  4. linux当前运行进程

    一:linux查询服务器服务进程 inux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照, 就是执行ps命令的那个时刻的 ...

  5. SpringBoot整合JWT

    JWT (整合SpringBoot) 1. 引入依赖 <!-- 引入JWT --> <dependency> <groupId>com.auth0</grou ...

  6. Win10安装Ubuntu子系统(WSL)

    一:设置子系统环境 关闭所有运行的程序,打开 控制面板→卸载程序→启用或关闭windows功能→勾选上适用于Linux的windows子系统 ,然后确定,完成会提示重启电脑,确定重启,等重启电脑后在操 ...

  7. 高性能MySQL-索引

    创建索引-高效索引 1.1 索引初体验 1.1.1 介绍 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针. 索引的作用是做数据的快速检 ...

  8. Java·Maven的安装与配置

    阅文时长 | 0.58分钟 字数统计 | 937.6字符 主要内容 | 1.引言&背景 2.Maven的下载与安装 3.Maven全局配置 4.Settings.xml文件的配置 5.远程仓库 ...

  9. CentOS/Linux内存占用大,用Shell脚本自动定时清除/释放内存

    CentOS/Linux内存占用大,用Shell脚本自动定时清除/释放内存来自:互联网 时间:2020-03-22 阅读:114以下情况可能造成Linux内存占用过高服务配置存在直接分配错误,或隐性分 ...

  10. [文章]Linux宕机故障分析案例

    [文章]Linux宕机故障分析案例 已采纳 收藏  0  1669 0 马化辉 2018-07-01发布 背景 在Linux系统环境下,服务器宕机发生的频率比较小,但是不少工程师或多或少都会遇到这 ...