侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

MongoDB系列教程(六):java操作mongodb实例

Java  /  管理员 发布于 8年前   120

java操作mysql数据库的代码我们已经了如指掌了,增删改查,java对mongodb数据库也是类似的操作,先是数据库连接,再是进行操作。

首先我们进入进入admin数据库,然后建立自己的数据库testMongoDb,进入admin数据库后,就可以直接进入testMongoDb,因为用户可以进入系统的数据库,就是超级管理员,use testMongoDb后,为该数据库设置用户名和密码,db.addUser('root','root'),这样我们在程序中连该数据库,并实现增删改查,代码如下所示。

代码如下所示:

复制代码 代码如下:
package com.mkyong.core; 
 
import java.net.UnknownHostException; 
import java.util.Date; 
import com.mongodb.BasicDBObject; 
import com.mongodb.DB; 
import com.mongodb.DBCollection; 
import com.mongodb.DBCursor; 
import com.mongodb.Mongo; 
import com.mongodb.MongoException; 
 
/**
 * Java + MongoDB Hello world Example
 * 
 */ 
public class App { 
    public static void main(String[] args) { 
 
        try { 
 
            /**** Connect to MongoDB ****/ 
            // Since 2.10.0, uses MongoClient 
            //MongoClient mongo = new MongoClient("localhost", 27017); 
             
            Mongo mongo = new Mongo("127.0.0.1",27017); 
             
           
            /**** Get database ****/ 
            // if database doesn't exists, MongoDB will create it for you 
            DB db = mongo.getDB("testMongoDb"); 
            //database username  root  and password root  
            boolean ok = db.authenticate("root","root".toCharArray()); 
            if(ok){ 
                System.out.println("db connection success!"); 
                 
            }{ 
                System.out.println("db connection fail !"); 
            } 
            /**** Get collection / table from 'testMongoDb' ****/ 
            // if collection doesn't exists, MongoDB will create it for you 
            DBCollection table = db.getCollection("user"); 
 
            /**** Insert ****/ 
            // create a document to store key and value 
            BasicDBObject document = new BasicDBObject(); 
            document.put("name", "mkyong"); 
            document.put("age", 30); 
            document.put("createdDate", new Date()); 
            table.insert(document); 
 
            /**** Find and display ****/ 
            BasicDBObject searchQuery = new BasicDBObject(); 
            searchQuery.put("name", "mkyong"); 
 
            DBCursor cursor = table.find(searchQuery); 
 
            while (cursor.hasNext()) { 
                System.out.println(cursor.next()); 
            } 
 
            /**** Update ****/ 
            // search document where name="mkyong" and update it with new values 
            BasicDBObject query = new BasicDBObject(); 
            query.put("name", "mkyong"); 
 
            BasicDBObject newDocument = new BasicDBObject(); 
            newDocument.put("name", "mkyong-updated"); 
 
            BasicDBObject updateObj = new BasicDBObject(); 
            updateObj.put("$set", newDocument); 
 
            table.update(query, updateObj); 
 
            /**** Find and display ****/ 
            BasicDBObject searchQuery2  
                = new BasicDBObject().append("name", "mkyong-updated"); 
 
            DBCursor cursor2 = table.find(searchQuery2); 
 
            while (cursor2.hasNext()) { 
                System.out.println(cursor2.next()); 
            } 
 
            /**** Done ****/ 
            System.out.println("Done"); 
 
        } catch (UnknownHostException e) { 
            e.printStackTrace(); 
        } catch (MongoException e) { 
            e.printStackTrace(); 
        } 
 
    } 
} 

控制台输入结果如下:
复制代码 代码如下:
    db connection success!
    db connection fail !
{ "_id" : { "$oid" : "544073c4d58dfa6e469555ba"} , "name" : "mkyong" , "age" : 30 , "createdDate" : { "$date" : "2014-10-17T01:41:24.479Z"}}
{ "_id" : { "$oid" : "543e154bd58d704982fd38f0"} , "name" : "mkyong-updated" , "age" : 30 , "createdDate" : { "$date" : "2014-10-15T06:33:47.321Z"}}
{ "_id" : { "$oid" : "5440719dd58d08a207605c8e"} , "name" : "mkyong-updated" , "age" : 30 , "createdDate" : { "$date" : "2014-10-17T01:32:13.922Z"}}
{ "_id" : { "$oid" : "544073c4d58dfa6e469555ba"} , "name" : "mkyong-updated" , "age" : 30 , "createdDate" : { "$date" : "2014-10-17T01:41:24.479Z"}}
Done


源码下载:http://xiazai..net.cn/201503/other/mongodb_helloworld.zip


  • 上一条:
    Java操作MongoDB数据库示例分享
    下一条:
    centos7防火墙导致java程序访问mongodb3.0.1时报错的问题分析
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在java中实现的脱敏工具类代码示例分享(0个评论)
    • zookeeper安装流程步骤(0个评论)
    • 在java中你背的“八股文”可能已经过时了(2个评论)
    • 在php8.0+版本中使用属性来增加值代码示例(3个评论)
    • java 正则表达式基础,实例学习资料收集大全 原创(0个评论)
    • 近期文章
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-11
    • 2018-03
    • 2020-03
    • 2023-05
    • 2023-11
    • 2024-01
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客