基于mongodb的java之增删改查(CRUD)
1,下载驱动https://github.com/mongodb/mongo-java-driver/downloads,导入工程java中
2,建立测试代码
import java.net.UnknownHostException; import java.util.Set;
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.MongoException;
public class TestMain {
public static void main(String[] args) throws UnknownHostException, MongoException { // Mongo m = new Mongo();//默认本地 // Mongo m = new Mongo("192.168.0.101");//默认端口 Mongo m = new Mongo("192.168.0.101",27017); //获取名为 alan 的数据库,不存在的情况下创建 DB db = m.getDB("alan"); //获取所有数据库,不显示无collection的db System.out.println("所有数据库名:"+m.getDatabaseNames()); //获取名为 testCollection 的collection(相当于表),不存在的情况下创建 DBCollection coll = db.getCollection("testCollection"); //向collection中插入值 (可以插条 ) BasicDBObject obj = new BasicDBObject(); obj.put("name","jone"); obj.put("sex", "male"); BasicDBObject info = new BasicDBObject(); info.put("height", 172); info.put("weight", 65); obj.put("other",info); coll.insert(obj); //获取数据库下所有的collection,不显示无数据的collection Set<String> colls = db.getCollectionNames(); for(String s : colls){ System.out.println(s); } //查询coll中全部记录 DBCursor ite = coll.find(); while(ite.hasNext()){ System.out.println(ite.next()); } //获取第一条记录 DBObject o = coll.findOne(); System.out.println(o);
//统计colletion的数据条数 System.out.println(coll.getCount()); // 查询 name位 mark的对象 BasicDBObject query = new BasicDBObject(); query.put("name", "mark"); DBCursor it = coll.find(query); while(it.hasNext()){ System.out.println(it.next()); } //查询height小于175,weight不等于65的对象 BasicDBObject query2 = new BasicDBObject(); query2.put("other.height", new BasicDBObject("$lt", 175)); query2.put("other.weight", new BasicDBObject("$ne",65)); DBCursor it2 = coll.find(query2); while(it2.hasNext()){ System.out.println(it2.next()); }
//更新操作 showData(coll); BasicDBObject old_obj = new BasicDBObject(); old_obj.put("name", "mark"); //这里的new_val对象一定要是find出的而不是new的,否则多字段的情况下就会丢失其它字段信息 DBObject new_val = coll.findOne(old_obj); new_val.put("name", "zhoulong"); /**这里只能修改一条满足条件的记录,而且根据API用updateMulti方法或者设置update第四个参数也无效, * 如果要批量跟新就要查询后,循环遍历更新了 */ coll.update(old_obj, new_val); showData(coll); //删除操作 showData(coll); BasicDBObject rmove = new BasicDBObject(); rmove.put("name", "jone"); coll.remove(rmove); //coll.findAndRemove(rmove);//可以用findAndRemove删除 ,不过这个方法之能删除一条符合条件的记录 showData(coll); }
//遍历数据 static void showData(DBCollection col) { DBCursor ite = col.find(); while(ite.hasNext()) { System.out.println(ite.next()); } } } 3,参考api,http://api.mongodb.org/java/2.5-pre-/index.html
4,用图形化的界面直观看看新建的库表和插入的数据

基于mongodb的java之增删改查(CRUD)的更多相关文章
- 基于mongodb的python之增删改查(CRUD)
1,下载mongodb的python驱动,http://pypi.python.org/pypi/pymongo/,根据操作系统和python平台版本选择相应的egg或exe安装. 2,新建一个py脚 ...
- java中增删改查(CRUD)总结
对于User表增删改查:1:save(保存方法) view(查询所有记录) update(更新方法) delete(删除方法) 通过method这个参数进行判断执行不同的操作 2: 具体的实现: ...
- mongoDB用java实现增删改查
package mongo; import java.net.UnknownHostException; import com.mongodb.BasicDBObject; import com.mo ...
- 十四:SpringBoot-配置MongoDB数据库,实现增删改查逻辑
SpringBoot-配置MongoDB数据库,实现增删改查逻辑 1.MongoDB数据库 1.1 MongoDB简介 1.2 MongoDB特点 2.SpringBoot整合MongoDB 2.1 ...
- MyBatis学习(三)MyBatis基于动态代理方式的增删改查
1.前言 上一期讲到MyBatis-Statement版本的增删改查.可以发现.这种代码写下来冗余的地方特别多.写一套没啥.如果涉及到多表多查询的时候就容易出现问题.故.官方推荐了一种方法.即MyBa ...
- mongodb的安装与增删改查
mongodb是一款分布式的文件存储的数据库,注意这两个词,分布式和文件存储.mongodb支持复制和分片,可以合理的运用空间的大小,也可以达到容灾的目的.另外文件存储也是一个特点,抛弃了传统的表的概 ...
- 基于vue-easytable实现数据的增删改查
基于vue-easytable实现数据的增删改查 原理:利用vue的数据绑定和vue-easetable的ui完成增删改查 后端接口: 1.条件查询表中数据 http://localhost:4795 ...
- IDEA SpringBoot-Mybatis-plus 实现增删改查(CRUD)
上一篇: IDEA SpringBoot-Mybatis实现增删改查(CRUD) 下一篇:Intellij IDEA 高效使用教程 (插件,实用技巧) 最好用的idea插件大全 一.前言 Mybati ...
- MongoDB学习-->命令行增删改查&JAVA驱动操作Mongodb
MongoDB 是一个基于分布式文件存储的数据库. 由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关 ...
随机推荐
- Java,Android 项目导入Eclipse常见错误
一.导入的jar包不存在: 右键工程属性查看: 导入的第三方jar包不存在: 解决方法: 删除该jar包,得到该jar包并存至本地,再导入该jar包 二.中文字符乱码: 解决方法: 右键项目属性: 修 ...
- textbox button 模拟fileupload
方案一: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.asp ...
- Jquery挂事件与移除事件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- RSA加密,应用授权及MSSQL备份与还原
01.QBRSA加解密处理 --> a.利用 RSA密钥生成器生成密钥(e,n,d) [e,n]为私钥, [d,n]为公钥 b.正向加密: 用私钥加密,用公钥解密 c.反向加密: 用公钥加密 ...
- java动手动脑和课后实验型问题String类型
1.请运行以下示例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? true true false 总结: 使用new关键字创建字符串对象时, 每次申请 ...
- [WebServer] Windows操作系统下 Tomcat 服务器运行 PHP 的环境配置
前言: 由于本人在开发和学习过程中需要同时部署 JavaWeb 和 PHP 项目,于是整理了网上的一些相关资料,并结合自己的实际操作,记录于此,以供参考. 一.环境(64bit): 1.操作系统.To ...
- 使用VisualVM进行性能分析及调优(转)
VisualVM 是一款免费的\集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回 ...
- Ant介绍
今天介绍一下Ant,Ant是基于Java的跨平台构建工具,它易于使用,并且可扩展.可升级.它既可以用于小的个人项目,也可以用于大型的.多组协同的软件项目. 在我们的项目开发中,为了构建一个软件产品,我 ...
- redis清空缓存
进入redis命令行 首先启动redis服务 redis-server /home/redis/redis_7901.conf redis-cli -p 7901(指定进入端口号为7901的redis ...
- 使用Myeclipse插件将wsdl生成java客户端代码
使用环境:MyEclipse9.0 本教程使用Myeclipse内置插件生成java代码,网上说这是xfire插件,不管怎样,生成和调用客户端代码都十分简单. 1.在项目上右键,选择New->O ...