我们总不能一直使用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. STM32F103: NRF24L01

    看了两天的24l01的相关资料了,一直有点模糊,今天下午感觉有点懂了,在板子上调试成功了,但是还没进行通讯测试.stm32和arduino进行通信还没成功 ,:( 先把stm32的NRF24L01配置 ...

  2. 【lightoj-1002】Country Roads(dijkstra变形)

    light1002:传送门 [题目大意] n个点m条边,给一个源点,找出源点到其他点的‘最短路’ 定义:找出每条通路中最大的cost,这些最大的cost中找出一个最小的即为‘最短路’,dijkstra ...

  3. Prism5.0新内容 What's New in Prism Library 5.0 for WPF(英汉对照版)

    Prism 5.0 includes guidance in several new areas, resulting in new code in the Prism Library for WPF ...

  4. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource

    二月 20, 2017 3:09:47 下午 org.apache.catalina.startup.SetAllPropertiesRule begin警告: [SetAllPropertiesRu ...

  5. 15 分钟学会 Eclipse GMF

    背景 坦白说:过去在 Eclipse 里使用 Graphical Editor Framework(GEF)创建图形化编辑器 既慢又痛苦.这个过程包括理解复杂的框架和大量的冗余代码.但也说明 GEF ...

  6. pip国内镜像(清华大学镜像)

    网上搜到的pip国内镜像大部分是豆瓣的 http://pypi.douban.com/simple/ 但是根本不全,很多包没有 所以推荐清华大学的 https://pypi.tuna.tsinghua ...

  7. [QT][SQLITE][QTDEMO]qt5.8_sqlite数据库_demo

    qt环境:5.8 数据库:sqlite //-------------------------------------- sqlite 日期 搜索 -------------------------- ...

  8. [python] 排序的动态展示

    两句闲话 本文所说的排序是指基于交换的排序.因此,按理来说,本文应该叫基于交换的排序的动态展示,但是这样太拗口了. 效果展示 最终效果如下. 实现方法 需要说明的是,在这里是通过pygame来实现图形 ...

  9. Elasticsearch安装 + Head插件安装 + Bigdesk插件安装

    一.Elasticsearch安装 1.官网下载zip包:https://www.elastic.co/downloads/elasticsearch 2.解压到自己指定的文件夹 3.运行\bin\e ...

  10. Python之xpath

    xpath是一种在XML文档中定位元素的语言,常用于xml.html文件解析,比css选择器使用方便XML文件最小构成单元: - element(元素节点) - attribute(属性节点) - t ...