Java操作Mongodb数据库实现数据的增删查改功能示例
时间:2019-03-31
本文章向大家介绍Java操作Mongodb数据库实现数据的增删查改功能示例,主要包括Java操作Mongodb数据库实现数据的增删查改功能示例使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例讲述了Java操作Mongodb数据库实现数据的增删查改功能。分享给大家供大家参考,具体如下:
首先,我们在windows下安装mongodb数据库,安装教程可查看前面一篇文章://www.jb51.net/article/85605.htm
代码如下:
package io.mogo; import java.util.Map; import org.apache.commons.lang3.StringUtils; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.Mongo; import com.mongodb.WriteResult; /** * Hello world! * */ public class App { private static final String host = "localhost"; private static final int port = 27017; private static final String userName = ""; private static final String password = ""; private static final String dataBaseName = "test"; private static DB db; public static void main( String[] args ) throws Exception { System.out.println( "Hello World!" ); connMongoDB(); find("person", "name", "xiaoming"); DBObject newObj = new BasicDBObject(); newObj.put("name", "xiaoming"); newObj.put("desc", "i am xiaoming"); update("person", "name", "xiaoming", newObj); find("person", "name", "xiaoming"); } public static void connMongoDB() throws Exception { Mongo mongo = new Mongo(host, port); db = mongo.getDB(dataBaseName); if (!StringUtils.isEmpty(userName) || !StringUtils.isEmpty(password)) { db.authenticate(userName, password.toCharArray()); } } public static void find(String tableName, String key, String value){ DBObject obj = new BasicDBObject(); obj.put(key, value); DBCollection dbCollection = db.getCollection(tableName); DBCursor dbCursor = dbCollection.find(obj); while(dbCursor.hasNext()){ Map map = (Map)dbCursor.next(); System.out.println(map); } } public static boolean delete(String tableName, String key, String value){ DBObject obj = new BasicDBObject(); obj.put(key, value); DBCollection dbCollection = db.getCollection(tableName); WriteResult result = dbCollection.remove(obj); if(result.getN() > 0){ System.out.println("删除数据成功!"); return true; }else{ return false; } } public static boolean insert(String tableName, DBObject obj){ DBCollection dbCollection = db.getCollection(tableName); long num = dbCollection.count(); dbCollection.insert(obj); if(dbCollection.count() - num > 0){ System.out.println("插入数据成功!"); return true; }else{ return false; } } public static boolean update(String tableName, String key, String value, DBObject newValue){ DBObject obj = new BasicDBObject(); obj.put(key, value); DBCollection dbCollection = db.getCollection(tableName); DBObject oldValue = dbCollection.findOne(obj); WriteResult result = dbCollection.update(oldValue, newValue); if(result.getN() > 0){ System.out.println("数据更新成功!"); return true; }else return false; } }
附:完整实例代码点击此处本站下载。
更多关于java相关内容感兴趣的读者可查看本站专题:《Java+MySQL数据库程序设计总结》、《Java操作Excel技巧总结》、《Java数据结构与算法教程》、《Java文件与目录操作技巧汇总》及《Java操作DOM节点技巧总结》
希望本文所述对大家java程序设计有所帮助。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- (数据科学学习手札92)利用query()与eval()优化pandas代码
- Spring Boot 集成 Elasticsearch 实战
- Python之错误和异常、模块(基础系列第四篇)
- Spark存储Parquet数据到Hive,对map、array、struct字段类型的处理
- 为什么这条异常没有上报? HTTP 429
- 三问Spring事务:解决什么问题?如何解决?存在什么问题?
- 从 OAuth2 服务器获取授权授权
- NHibernate 代码映射实体类
- 使用 Castle Windsor 实现 Web API 依赖注入
- SparkSQL与Hive metastore Parquet转换
- Spark中广播变量详解以及如何动态更新广播变量
- 按需加载 AngularJS 的 Controller
- Spark SQL中Not in Subquery为何低效以及如何规避
- 踩坑记 | Flutter升级影响了NestedScrollView?
- 使用 RequireJS 加载 AngularJS