我们总不能一直使用cmd对数据库操作,数据库总是要在程序中使用的。今天来说一下怎么通过Java调用MongoDB。

学习一下最基本也是最常用的增删查改语句,这是使用数据库的基础。

注意事项:

1、要打开mongod.exe,程序运行期间要一直开着。

2、Java项目里面要导入mongo的jar包,mongo-版本号-jar。

以下为代码:

public class MongoTest {

    public static void main(String args[]) throws UnknownHostException, MongoException{

        //创建了一个MongoDB的数据库连接对象,它默认连接到当前机器的localhost地址,端口是27017
Mongo mongo = new Mongo(); //获得了一个mydbs的数据库,如果该数据库不存在则会创建
DB db = mongo.getDB("mydbs"); //获取mydbs这个数据库中的数据库表!
DBCollection mydbs = db.getCollection("mydbs"); //以上对应cmd语句 :use mydbs //在花括号内的内容就是一个BasicDBObject
//如{"name":"binbin"} 就是 BasicDBObject("name","binbin")
//再如{"age":{$lte:50}} 就是 BasicDBObject("age", new BasicDBObject("$lte",50)) //一:基本查询,对应语句:db.mydbs.find() //将查找的结果返回到游标中
DBCursor cur = mydbs.find(); //如果有数据则输出
while (cur.hasNext()) { System.out.println(cur.next()); } //二:插入语句,对应语句:db.mydbs.insert(user)
DBObject user = new BasicDBObject(); user.put("name", "weizhibin");
user.put("age", "20");
user.put("school", "uestc"); mydbs.insert(user); //三:删除语句,对应语句:db.mydbs.remove({"name":"weizhibin"}) mydbs.remove(new BasicDBObject("name","weizhibin")); //四:更新语句,对应语句:db.col.update({"name":"weizhibin"},{$set:{"name":"binbin"}}) mydbs.update(new BasicDBObject("name","weizhibin"),new BasicDBObject("$set",new BasicDBObject("name","bibin"))); //五:条件查询,对应语句:db.mydbs.find({"name":"weizhibin"})
DBCursor cur2 = mydbs.find(new BasicDBObject("name","weizhibin")); //如果有数据则输出
while (cur2.hasNext()) { System.out.println(cur2.next()); } } }

好了,以上是最常用的基本增删查改语句。MongoDB有一些复杂的语句,都是在这些的基础之上延伸的,学起来也不难,在此就不一一列举了。

MongoDB在Java下的增删查改的更多相关文章

  1. java中CRUD(增删查改)底层代码的实现

    java中CRUD(增删查改)底层代码的实现: package com.station.dao; import com.station.model.Product; import java.sql.* ...

  2. python下sqlite增删查改方法(转)

    sqlite读写   #coding=utf-8 import sqlite3 import os #创建数据库和游标 if os.path.exists(' test.db'): conn=sqli ...

  3. 8天学通MongoDB——第二天 细说增删查改

    原文地址:http://www.cnblogs.com/huangxincheng/archive/2012/02/19/2357846.html 看过上一篇,相信大家都会知道如何开启mongodb了 ...

  4. [MongoDB] MongoDB增删查改

    MongoDB的三元素,数据库.集合.文档,集合就是表,文档就是行 开启MongoDB,cd切换到MongoDB的安装目录下的bin目录里,使用命令mongod 开启,参数:--dbpath 路径,把 ...

  5. MongoDB入门学习(三):MongoDB的增删查改

            对于我们这样的菜鸟来说,最重要的不是数据库的管理,也不是数据库的性能,更不是数据库的扩展,而是怎么用好这款数据库,也就是一个数据库提供的最核心的功能,增删查改.         由于M ...

  6. Java连接MySQL数据库及简单的增删查改操作

    主要摘自 https://www.cnblogs.com/town123/p/8336244.html https://www.runoob.com/java/java-mysql-connect.h ...

  7. java:Hibernate框架1(环境搭建,Hibernate.cfg.xml中属性含义,Hibernate常用API对象,HibernteUitl,对象生命周期图,数据对象的三种状态,增删查改)

    1.环境搭建: 三个准备+7个步骤 准备1:新建项目并添加hibernate依赖的jar文件  准备2:在classpath下(src目录下)新建hibernate的配置文件:hibernate.cf ...

  8. 后端Spring Boot+前端Android交互+MySQL增删查改(Java+Kotlin实现)

    1 前言&概述 这篇文章是基于这篇文章的更新,主要是更新了一些技术栈以及开发工具的版本,还有修复了一些Bug. 本文是SpringBoot+Android+MySQL的增删查改的简单实现,用到 ...

  9. MongoDB数据库(二):增删查改

    MongoDB数据库的增删查改 1.插入数据 语法: db.集合名称.insert(document) db.table_name.insert({name:'gj',gender:1}) db.ta ...

随机推荐

  1. Makefile的补充学习

    通配符%和Makefile自动推导(规则)(1)%是Makefile中的通配符,代表一个或几个字母.也就是说%.o就代表所有以.o为结尾的文件.(2)所谓自动推导其实就是Makefile的规则.当Ma ...

  2. Qt 中使用智能指针

    教研室的项目,就是用Qt做个图形界面能收发数据就可以了,但是创建数据管理类的时候需要各种new, delete,很小心了但是内存使用量在不断开关程序之后函数会长,由于用的是gcc 4.7.*  所以好 ...

  3. 模拟form提交数据

    最近在做一个项目,发现ajax不能enctype=”multipart/form-data” 属性的表单,没办法,只能使用form表单直接提交的方法了,但是form表单直接提交会跳转页面,这样很不友好 ...

  4. Drools7在Intellij IDEA下的引入静态方法错误提示

    问题 在Intellij IDEA 2016下,默认安装了Drools的插件,但使用Drools7(其他版本应该也有问题)时发现,在DRL文件中引入的静态方法IDEA会提示"Cannot r ...

  5. cursor光标类型

    今天早上在网上看到一篇关于光标类型的总结代码,很好,特定拿来: 最终结果: 代码: <!DOCTYPE html> <html lang="zh-cn"> ...

  6. NGINX 配置文件配置url重写

    1.项目在根目录: location / {            index  index.html index.htm index.php l.php;            autoindex  ...

  7. fedora 安装新字体 courier new xxx

    fedora安装新字体 1.将windows字体拷贝到/usr/share/fonts/truetype下面,文件夹名字可以随便起 cp /media/c/WINDOWS/Fonts/* /usr/s ...

  8. Linux内核开发

    Linux内核开发 https://www.cnblogs.com/pugang/p/9728983.html 很早之前就想写一篇文章总结一下Linux Kernel开发的相关资料,项目的原因,再加上 ...

  9. Python学习-括号

    python语言最常见的括号有三种,分别是:小括号( ).中括号[ ]和大括号也叫做花括号{ }.其作用也各不相同,分别用来代表不同的python基本内置数据类型. 1.python中的小括号( ): ...

  10. 读论文系列:Object Detection ICCV2015 Fast RCNN

    Fast RCNN是对RCNN的性能优化版本,在VGG16上,Fast R-CNN训练速度是RCNN的9倍, 测试速度是RCNN213倍:训练速度是SPP-net的3倍,测试速度是SPP-net的3倍 ...