我们总不能一直使用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. Spring 依赖注入(一、注入方式)

    Spring是一个依赖注入(控制反转)的框架,那么依赖注入(标控制反转)表现在那些地方了? 即:一个类中的属性(其他对象)不再需要手动new或者通过工厂方法进行创建,而是Spring容器在属性被使用的 ...

  2. Hibernate中Hql查询

    这篇随笔将会记录hql的常用的查询语句,为日后查看提供便利. 在这里通过定义了三个类,Special.Classroom.Student来做测试,Special与Classroom是一对多,Class ...

  3. EL标签

    1.EL的作用 jsp的核心语法: jsp表达式 <%=%>和 jsp脚本<%  %>. 开发jsp的原则: 尽量在jsp页面中少写甚至不写java代码. 使用EL表达式替换掉 ...

  4. Agilent RF fundamentals (8) Oscillator Decisions

          ----------------------

  5. win7 无法链接到手机热点

    作为一个对电脑不太懂的小白来说,链接个热点都是问题,来看看我怎么解决的吧. 之前连上过这个手机的热点,隔了有段时间了,今天连不上了,这是啥问题? 另外一台没连过这个手机热点的电脑是可以链接成功了,纳尼 ...

  6. 关于iframe和div窗口中ajax请求200状态时执行的回调问题

    上一篇说了在ajax回调里面处理iframe窗口的刷新问题,这一篇记录一下遇到的一个分别在iframe和div窗口中ajax请求200状态时执行的回调问题. 我们先来看一下ajax请求的写法(这里使用 ...

  7. Android Broadcast 和 BroadcastReceiver的权限机制

    在Android应用开发中,有时会遇到以下两种情况, 1. 一些敏感的广播并不想让第三方的应用收到 : 2. 要限制自己的Receiver接收某广播来源,避免被恶意的同样的ACTION的广播所干扰. ...

  8. Thrift之c++实例

    一.c++实例 1.下载与安装thrift工具 http://thrift.apache.org/download/ .服务端代码 1).新建vc工程. 2).将上面的文件拷贝到工程目录下,Test_ ...

  9. HAWQ取代传统数仓实践(十六)——事实表技术之迟到的事实

    一.迟到的事实简介 数据仓库通常建立于一种理想的假设情况下,这就是数据仓库的度量(事实记录)与度量的环境(维度记录)同时出现在数据仓库中.当同时拥有事实记录和正确的当前维度行时,就能够从容地首先维护维 ...

  10. Leetcode 1018. Binary Prefix Divisible By 5

    class Solution: def prefixesDivBy5(self, A: List[int]) -> List[bool]: ans,t = [],0 for a in A: t ...