我们总不能一直使用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. Hadoop WordCount程序

    一.把所有Hadoop的依赖jar包导入buildpath,不用一个一个调,都导一遍就可以,因为是一个工程,所以覆盖是没有问题的 二.写wordcount程序 1.工程目录结构如下: 2.写mappe ...

  2. EL表达式 分割字符串 ,forEach定次循环

    后台取出来的是字符串  以 a,b,c,   的形式  前台要将字符串中的“,”去掉 ,并forEach重新拼接 list.labelsName不用加${} <c:set value=" ...

  3. css清除浮动float的几种方法

    摘要: css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?     一.抛一块问题砖(display: block)先看现象: 这里我没有给最外层的DIV.outer 设置高度, ...

  4. android 属性动画和布局动画p165-p171

    一.属性动画 ObjectAnimator ObjectAnimator是属性动画框架中最重要的实行类,创建一个ObjectAnimator只需通过他的静态工厂类直接返回一个ObjectAnimato ...

  5. Centos6.8 Jetty 安装配置

    ssh root@IP Password------------------------------------------------------------------------------↑登 ...

  6. LeetCode OJ:Two Sum(两数之和)

    Given an array of integers, find two numbers such that they add up to a specific target number. The ...

  7. SVG 总结

    //文件名:11.svg<?xml version="1.0" encoding="UTF-8" ?> <!--XML NameSpace:名 ...

  8. JMX心得 -- Server端

    关于什么是JMX,这里引用了网上找来的一个介绍:JMX(JavaManagement Extensions)是一个为应用程序植入管理功能的框架.JMX是一套标准的代理和服务,实际上,用户可以在任何Ja ...

  9. Android4.0系统接收不到广播的问题解析

    在3.1之后,系统的package manager增加了对处于“stopped state”应用的管理,这个stopped和Activity生命周期中的stop状态是完全两码事,指的是安装后从来没有启 ...

  10. SGU 505 Prefixes and suffixes

    题解   现将字符串排序: 那么某前缀在字符串中出现肯定是连续的:写几个案例就知道了:这是记录每个字符在以前缀排名的rank : 然后将字符串反序: 再排序:依照前缀,可以知道相同名字的后缀也会出现在 ...