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. Windows中的工作组和域

    目录 工作组 工作组的访问 工作组的优缺点 域 ​域结构 域的原理 部署域架构 如何加入域 域中主机的登录 SRV出错及解决办法 SRV记录注册不成功的可能原因 禁用域中的账户 将计算机退出域 工作组 ...

  2. [CTF]ACSII码

    [CTF]ACSII码 ----------转自百度百科 https://baike.baidu.com/item/ASCII/309296?fromtitle=ascii码&fromid=9 ...

  3. 【axios】get/post请求params/data传参总结

    axios中get/post请求方式 1. 前言 最近突然发现post请求可以使用params方式传值,然后想总结一下其中的用法. 2.1 分类 get请求中没有data传值方式 2.2 get请求 ...

  4. thinkphp 5中的混合查询

    1.手册样例thinkphp 5.0Db::table('think_user') ->where('name',['like','thinkphp%'],['like','%thinkphp' ...

  5. Morgan Stanley Books List:经典金融书籍推荐

    一.经济学 1. 中华帝国的专制制度,佛朗索瓦.魁奈 2. 资本论(共3卷),马恩全集 3. 国家竞争优势,麦克尔.波特 4. Essentials of corporate analysis, by ...

  6. 关于Redis哨兵机制,7张图详解!

    写在前面 之前有位朋友去面试被问到Redis哨兵机制,这道题其实很多小伙伴都应该有被问到过!本文将跟大家一起来探讨如何回答这个问题!同时用XMind画了一张导图记录Redis的学习笔记和一些面试解析( ...

  7. makefile的include用法

    include 使用方法 : include filename.mk 作用: 暂停当前的makefile执行,去执行指定的makefile,执行完毕后继续执行当前的makefile -include ...

  8. 搭建LAMP环境部署opensns微博网站

    搭建LAMP环境部署opensns微博网站 实验环境 centos7 ip: 192.168.121.17 一.关闭防火墙和selinux [root@localhost ~]# systemctl ...

  9. windows怎么访问linux的samba共享目录

    windows怎么访问linux的samba共享目录 听语音 原创 | 浏览:6976 | 更新:2018-07-31 13:20 | 标签:LINUX WINDOWS 1 2 3 4 5 6 7 分 ...

  10. shell初学之PHP

    初次接触脚本,写了一个通过Apache实现PHP动态网站的脚本: #!/bin/bash yum -y install php rm -rf /etc/httpd/conf.d/welcome.con ...