java操作mongodb的代码,包含基本的增删改查操作 获取数据库连接工具类 package com.liuc.db;import java.net.UnknownHostException;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.Mongo;/** * * @brief MongoDBUtil.java 操作

java操作mongodb的代码,包含基本的增删改查操作

获取数据库连接工具类

package com.liuc.db;

import java.net.UnknownHostException;

import com.mongodb.DB;

import com.mongodb.DBCollection;

import com.mongodb.Mongo;

/**

*

* @brief MongoDBUtil.java 操作mongodb工具类

* @attention 使用注意事项

* @author liuchao

* @date 2013-12-30

* @note begin modify by 修改人 修改时间 修改内容摘要说明

*/

public class MongoDBUtil {

/**

*

* \brief 无需认证获取数据库连接

* @return

* @attention 方法的使用注意事项

* @author liuchao

* @date 2013-12-30

* @note begin modify by 修改人 修改时间 修改内容摘要说明

*/

public static DBCollection getDBConnectionWithoutAuth(String colName){

try {

Mongo mongo = new Mongo("localhost", 27017);

DB db = mongo.getDB("liuchao");

return db.getCollection(colName);

} catch (UnknownHostException e) {

e.printStackTrace();

return null;

}

}

/**

*

获取需认证获取数据库连接

启动登录密码认证:

登录数据库,添加用户

use

db.addUser('user1','pwd1');

重启服务端开启认证服务

mongod --auth --dbpath=D:\mongodb\db

接下来登录就需要用户名密码认证了

启动客户端:

use admin;

//进行登陆验证,如果不通过,是没有操作权限的了。

db.auth('user1','pwd1');

*/

public static DBCollection getDBConnectionWithAuth(String colName){

try {

Mongo mongo = new Mongo("localhost", 27017);

DB db = mongo.getDB("liuchao");

char[] pwd_char = "liuchao".toCharArray();

boolean auth = db.authenticate("liuchao",pwd_char);//登陆验证,成功之后才能进行有效操作

if(!auth){

throw new RuntimeException();

}

return db.getCollection(colName);

} catch (UnknownHostException e) {

e.printStackTrace();

return null;

}

}

public static void main(String[] args) {

System.out.println(getDBConnectionWithAuth("users"));

System.out.println(getDBConnectionWithoutAuth("users"));

}

}

基本增删改查操作类:

package com.liuc.db;

import java.util.ArrayList;

import java.util.List;

import com.mongodb.BasicDBObject;

import com.mongodb.DBCollection;

import com.mongodb.DBCursor;

import com.mongodb.DBObject;

/**

*

* @brief MognoDBCURDUtil.java 增删改查工具类

* @attention 使用注意事项

* @author liuchao

* @date 2013-12-30

* @note begin modify by 修改人 修改时间 修改内容摘要说明

*/

public class MognoDBCURDUtil {

/**

*

* \brief查询所有数据

*

* @attention 方法的使用注意事项

* @author liuchao

* @date 2013-12-30

* @note begin modify by 修改人 修改时间 修改内容摘要说明

*/

private static void queryAll(String collectionName) {

DBCollection users = MongoDBUtil

.getDBConnectionWithAuth(collectionName);

// db游标

DBCursor cur = users.find();

System.out.println("数据总条数:" + users.count());

while (cur.hasNext()) {

System.out.println(cur.next());

}

}

/**

*

* \brief 添加数据

*

* @param collectionName

* @attention 方法的使用注意事项

* @author liuchao

* @date 2013-12-30

* @note begin modify by 修改人 修改时间 修改内容摘要说明 save和insert的区别

* save函数实际就是根据参数条件,调用了insert或update函数.

* 如果想插入的数据对象存在,insert函数会报错,而save函数是改变原来的对象;

* 如果想插入的对象不存在,那么它们执行相同的插入操作. 这里可以用几个字来概括它们两的区别,即所谓"有则改之,无则加之".

*/

public static void add(String collectionName, Listlist) {

DBCollection users = MongoDBUtil

.getDBConnectionWithAuth(collectionName);

users.insert(list).getN();

}

/**

*

* \brief 更新

* @param collectionName

* @param source

* @param target

* @attention 方法的使用注意事项

* @author liuchao

* @date 2013-12-30

* @note begin modify by 修改人 修改时间 修改内容摘要说明

*/

public static void update(String collectionName, DBObject source,

DBObject target) {

DBCollection users = MongoDBUtil

.getDBConnectionWithAuth(collectionName);

/**

* true,//如果数据库不存在,是否添加

false//多条修改

*/

users.update(source, target, true, false);

}

/**

*

* \brief 删除

* @param collectionName

* @param obj

* @attention 方法的使用注意事项

* @author liuchao

* @date 2013-12-30

* @note begin modify by 修改人 修改时间 修改内容摘要说明

*/

public static void delete(String collectionName, DBObject delObj) {

DBCollection users = MongoDBUtil

.getDBConnectionWithAuth(collectionName);

users.remove(delObj);

//print("remove age >= 24: " + users.remove(new BasicDBObject("age", new BasicDBObject("$gte", 24))).getN());

}

/**

*

* \brief 带条件查询

* @param collectionName

* @param delObj

* @attention 方法的使用注意事项

* @author liuchao

* @date 2013-12-30

* @note begin modify by 修改人 修改时间 修改内容摘要说明

*/

public static void queryWithCondition(String collectionName, DBObject condition) {

DBCollection users = MongoDBUtil

.getDBConnectionWithAuth(collectionName);

//users.find(new BasicDBObject("_id", new ObjectId("4de73f7acd812d61b4626a77"))).toArray()

users.find(condition);

}

}

代码下载:http://download.csdn.net/detail/shanhuhau/6788957

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

java mongodb 增删改查_java操作mongodb:基本的增删改查相关推荐

  1. java mongodb 模糊查询_Java操作MongoDB插入数据进行模糊查询与in查询功能的方法

    Java操作MongoDB插入数据进行模糊查询与in查询功能 由于需要用MongoDB缓存数据,所以自己写了一套公共的存放和读取方法 具体如下: 存放mongodb: /** * 公共方法:设置Obj ...

  2. java操作mongodb查询总数_java操作mongodb——查询数据

    field为查询字段,value为查询值,也可以通过过滤器Filters,Filters提供了一系列查询条件的静态方法 相等 - = FindIterable iter = doc.find(new ...

  3. java mongodb条件查询_java 操作mongodb查询条件的常用设置

    java操作mongodb进行查询,常用筛选条件的设置如下: 条件列表: BasicDBList condList = new BasicDBList(); 临时条件对象: BasicDBObject ...

  4. mongodb php代码实例,php操作mongoDB实例分析

    本文实例讲述了PHP操作mongoDB的方法.分享给大家供大家参考.具体分析如下: mongoDB数据库是一种以json格式存储的数据库,非常适用于各种应用开发,这里就来给各位朋友介绍一些mongoD ...

  5. java mongodb怎删改查_Java连接MongoDB进行增删改查

    1.创建数据库的连接,进行增删改查 (分别为接口和实现类) package com.dao; import java.util.List; import org.springframework.bea ...

  6. mongodb java查询_java操作mongoDB查询的实例详解

    java操作mongo查询的实例详解 前言: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库 ...

  7. java mongodb排序查询_java操作mongodb基础(查询 排序 输出list)

    代码如下: package com.infomorrow.webroot; import java.util.List; import com.mongodb.BasicDBObject; impor ...

  8. mongotemplate模糊查_java 中 mongodb的各种操作 模糊查询 精确查询 等等

    本意是想查查mongo数据库的int类型的like怎么查,但是好像没 解决这个问题. 精确查询:模糊查询:分页查询,每页多少:按某个字段排序(或升或降):查询数量:大于,小于,等于:且,或,某个字段不 ...

  9. mongodb java驱动_Java操作MongoDB之mongodb-driver(一)

    1. mongodb-driver是mongo官方推出的java连接mongoDB的驱动包,相当于JDBC驱动. (1)通过maven仓库导入:https://mvnrepository.com/ar ...

最新文章

  1. 34 多线程同步之Event
  2. 滁州布局创新链服务链~农业大健康·万祥军:谋定功能性农业
  3. SQL数据库面试题以及答案!
  4. 中科大 计算机网络5 接入网和物理媒体
  5. python语言是一个优秀的面向对象语言_python是面向对象的语言吗
  6. 机械动力学瑞利法matlab程序,工业机器人的动力学建模与仿真+MATLAB程序
  7. 相机下载_索尼相机怎样用wifi传照片到手机
  8. 开根号计算机在线应用,根号计算器(万能计算器在线计算)
  9. 3D远方动态白云页面源码
  10. 关于android读取用户号码,手机串号,SIM卡序列号
  11. MATLAB的画家之旅
  12. Chrome自带滚动截图
  13. SLCP验厂辅导,企业在认证之后便可以将经验证过后的数据信息分享给其它各托管平台
  14. react 返回上一页
  15. Dotween简单安装设置
  16. 微商必备6款软件!十分好用
  17. 计算机使用水平怎么填,计算机水平怎么填写?
  18. 文件夹同名EXE病毒
  19. Python字符串算法
  20. CVPR 2018 | 8篇论文、10+Demo、双项挑战赛冠军,旷视科技掀起CVPR产学研交流热潮

热门文章

  1. android 模仿instagram的listview,实现Instagram的Material Design概念设计
  2. des解密 given final_人设不能崩[无限]作者:条纹花瓶(无限流+解密+闯关+直播+爽文)...
  3. 如何在10亿个整数中找出前1000个最大的数(TopN算法)
  4. 2021年互联网公司“死亡”名单!(附清单)
  5. 人脸识别(二)——训练分类器的补充说明
  6. 计算机科学导论第二章,计算机科学导论第二章.doc
  7. java中获取错误,在简单程序中获取分段错误
  8. java常见笔试_Java 常见笔试题(2)
  9. python字符串能减吗_在python中减去两个字符串(Subtract two strings in python)
  10. Springboot消除switch-case方法