Java操作Mongodb数据库实现数据的增删查改功能示例
作者:zwcwu31 发布时间:2023-11-25 00:02:05
标签:Java,Mongodb
本文实例讲述了Java操作Mongodb数据库实现数据的增删查改功能。分享给大家供大家参考,具体如下:
首先,我们在windows下安装mongodb数据库,安装教程可查看前面一篇文章:https://www.aspxhome.com/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程序设计有所帮助。
来源:http://blog.csdn.net/zwc2xm/article/details/72869590


猜你喜欢
- MyBatis的注解实现复杂映射开发实现复杂关系映射之前我们可以在映射文件中通过配置来实现,使用注解开发后,我们可以使用@Results注解
- 需求: 给定一个URL地址, 例如: http://www.cncounter.com/tools/shorturl.php, 解析对应的I
- 本文主要探讨以下几个问题:嵌套滑动设计目的嵌套滑动的实现嵌套滑动与事件分发机制嵌套滑动设计目的不知道大家有没有注意过淘宝APP首页的二级联动
- 1. 简单说明嗨,大家好!今天给大家分享的是Mybatis-plus 插件的分页机制,说起分页机制,相信我们程序员都不陌生,今天,我就给大家
- 博主最近在做一个内网项目,内部可以访问外部数据,但是外部访问不了内部数据,这也就造成了可能文件无法上传,所以博主另辟蹊径,在本地服务器上建立
- SpringBoot v2.2以上重复读取Request Body内容一、需求项目有两个场景会用到从Request的Body中读取内容。打印
- 😜shape属性详解<?xml version="1.0" encoding="utf-8"?
- 前面讲解了MediaPlayer播放网络音频,主要介绍了MediaPlayer关于网络音频的缓冲和进度条控制的方法,本文再来讲解一下Medi
- 本文实例为大家分享了Android表格布局TableLayout的具体代码,供大家参考,具体内容如下1.TableLayout TableL
- 前言WebJar官网:https://www.webjars.org/,对于任何与Servlet 3兼容的容器,WEB-INF/lib目录中
- Java中有哪些队列ArrayBlockingQueue 使用ReentrantLockLinkedBlockingQueue 使用Reen
- XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识
- 为了打造流畅的用户导航体验,我们不得不依赖智能手机最常见的一个功能:触摸。触摸改变应用程序的视图是现在最流行一种导航设计。在本文中,我们将经
- 本文实例讲述了Java设计模式之享元模式。分享给大家供大家参考,具体如下:解释一下概念:也就是说在一个系统中如果有多个相同的对象,那么只共享
- 写在前面:今天用保存QQ账号和密码的实战演练,带大家掌握Android存储中最基本的文件存储方式文件存储是Android中最基本的一种数据存
- 1、汉字转十六进制UNICODE编码字符串 /// <summary> /// //// /// <
- 这篇文章主要介绍了通过实例解析JMM和Volatile底层原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的
- 同步是一种只允许一个线程在特定时间访问某些资源的技术。没有其他线程可以中断,直到所分配的线程或当前访问线程访问数据完成其任务。在多线程程序中
- 本文实例为大家分享了C# this关键字的四种用法,供大家参考,具体内容如下用法一 this代表当前实例,用this.显式调用一