mongodb基础系列——java操作mongodb实现CURD
来源:互联网 发布:小米如何禁止软件更新 编辑:程序博客网 时间:2024/04/19 02:17
mongodb支持多种语言,并且提供了多种语言的驱动。
java操作mongodb实现CURD:
前提:下载相应的驱动:官网上下载:http://central.maven.org/maven2/org/mongodb/mongo-java-driver/
本人使用mongo-2.10.1.jar版本:
下面有详细代码的,每个方法可以单独执行。其中为了方便运行,每个方法中都重新链接数据库,而没有再提出来,因为在此的目的是为了认识mongodb而已。
<dependency><groupId>org.mongodb</groupId><artifactId>mongo-java-driver</artifactId><version>2.10.1</version><type>jar</type><scope>compile</scope></dependency>
package com.mongo.dao;import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBCursor;import com.mongodb.Mongo;/*** 对基本实体的存储测试* @author lhy**/public class EntityTest { public static void main(String[] args) throws Exception{ delete(); } /** * 保存实体对象 * @throws Exception */ public static void saveEntity() throws Exception{ //第一:实例化mongo对象,连接mongodb服务器 包含所有的数据库 //默认构造方法,默认是连接本机,端口号,默认是27017 //相当于Mongo mongo =new Mongo("localhost",27017) Mongo mongo =new Mongo(); //第二:连接具体的数据库 //其中参数是具体数据库的名称,若服务器中不存在,会自动创建 DB db=mongo.getDB("myMongo"); //第三:操作具体的表 //在mongodb中没有表的概念,而是指集合 //其中参数是数据库中表,若不存在,会自动创建 DBCollection collection=db.getCollection("user"); //添加操作 //在mongodb中没有行的概念,而是指文档 BasicDBObject document=new BasicDBObject(); document.put("id", 1); document.put("name", "小明");// //然后保存到集合中// // collection.insert(document); //当然我也可以保存这样的json串/* { "id":1, "name","小明", "address": { "city":"beijing", "code":"065000" } }*/ //实现上述json串思路如下: //第一种:类似xml时,不断添加 BasicDBObject addressDocument=new BasicDBObject(); addressDocument.put("city", "beijing"); addressDocument.put("code", "065000"); document.put("address", addressDocument); //然后保存数据库中 collection.insert(document); //第二种:直接把json存到数据库中/* String jsonTest="{'id':1,'name':'小明',"+ "'address':{'city':'beijing','code':'065000'}"+ "}"; DBObject dbobjct=(DBObject)JSON.parse(jsonTest); collection.insert(dbobjct);*/ } /** * 遍历所有的 * @throws Exception */ public static void selectAll() throws Exception{ //第一:实例化mongo对象,连接mongodb服务器 包含所有的数据库 //默认构造方法,默认是连接本机,端口号,默认是27017 //相当于Mongo mongo =new Mongo("localhost",27017) Mongo mongo =new Mongo(); //第二:连接具体的数据库 //其中参数是具体数据库的名称,若服务器中不存在,会自动创建 DB db=mongo.getDB("myMongo"); //第三:操作具体的表 //在mongodb中没有表的概念,而是指集合 //其中参数是数据库中表,若不存在,会自动创建 DBCollection collection=db.getCollection("user"); //查询操作 //查询所有 //其中类似access数据库中游标概念 DBCursor cursor=collection.find(); System.out.println("mongodb中的user表结果如下:"); while(cursor.hasNext()){ System.out.println(cursor.next()); } } /** * 根据条件查询 * @throws Exception */ public static void selectPart() throws Exception{ //第一:实例化mongo对象,连接mongodb服务器 包含所有的数据库 //默认构造方法,默认是连接本机,端口号,默认是27017 //相当于Mongo mongo =new Mongo("localhost",27017) Mongo mongo =new Mongo(); //第二:连接具体的数据库 //其中参数是具体数据库的名称,若服务器中不存在,会自动创建 DB db=mongo.getDB("myMongo"); //第三:操作具体的表 //在mongodb中没有表的概念,而是指集合 //其中参数是数据库中表,若不存在,会自动创建 DBCollection collection=db.getCollection("user"); //可以直接put BasicDBObject queryObject=new BasicDBObject(); queryObject.put("id", 1); DBCursor querycursor=collection.find(queryObject); System.out.println("条件查询如下:"); while(querycursor.hasNext()){ System.out.println(querycursor.next()); } } /** * 更新操作 * 更新一条记录 * @throws Exception */ public static void update()throws Exception{ //第一:实例化mongo对象,连接mongodb服务器 包含所有的数据库 //默认构造方法,默认是连接本机,端口号,默认是27017 //相当于Mongo mongo =new Mongo("localhost",27017) Mongo mongo =new Mongo(); //第二:连接具体的数据库 //其中参数是具体数据库的名称,若服务器中不存在,会自动创建 DB db=mongo.getDB("myMongo"); //第三:操作具体的表 //在mongodb中没有表的概念,而是指集合 //其中参数是数据库中表,若不存在,会自动创建 DBCollection collection=db.getCollection("user"); //更新后的对象// 第一种更新方式 BasicDBObject newBasicDBObject =new BasicDBObject(); newBasicDBObject.put("id", 2); newBasicDBObject.put("name", "小红"); collection.update(new BasicDBObject().append("id", 1),newBasicDBObject); // 第二种更新方式// 更新某一个字段// BasicDBObject newBasicDBObject =new BasicDBObject().append("$set",new BasicDBObject().append("name", "小红") );// collection.update(new BasicDBObject().append("id", 1).append("name", "小明"),newBasicDBObject); DBCursor querycursor1=collection.find(); System.out.println("更新后结果如下:"); while(querycursor1.hasNext()){ System.out.println(querycursor1.next()); } } /** * 删除文档,其中包括删除全部或删除部分 * @throws Exception */ public static void delete() throws Exception{ //第一:实例化mongo对象,连接mongodb服务器 包含所有的数据库 //默认构造方法,默认是连接本机,端口号,默认是27017 //相当于Mongo mongo =new Mongo("localhost",27017) Mongo mongo =new Mongo(); //第二:连接具体的数据库 //其中参数是具体数据库的名称,若服务器中不存在,会自动创建 DB db=mongo.getDB("myMongo"); //第三:操作具体的表 //在mongodb中没有表的概念,而是指集合 //其中参数是数据库中表,若不存在,会自动创建 DBCollection collection=db.getCollection("user"); BasicDBObject queryObject1=new BasicDBObject(); queryObject1.put("id", 2); queryObject1.put("name","小红"); //删除某一条记录 collection.remove(queryObject1); //删除全部 //collection.drop(); DBCursor cursor1=collection.find(); System.out.println("删除后的结果如下:"); while(cursor1.hasNext()){ System.out.println(cursor1.next()); } } }http://limingnihao.iteye.com/blog/1940438
http://blog.csdn.net/yuebinghaoyuan/article/details/9006083
0 0
- mongodb基础系列——java操作mongodb实现CURD
- mongodb基础系列——java操作mongodb实现CURD
- java操作mongoDB实现CURD
- mongodb基础系列——java操作mongodb实现图片文件功能
- mongodb基础系列——java操作mongodb实现图片文件功能
- mongodb基础系列——java操作mongodb实现图片文件功能
- mongoDB的CURD操作
- MongoDB的CURD操作
- MongoDB 之CURD操作
- Java对MongoDb的CURD操作
- MongoDB——详谈CURD
- mongodb基础系列——mongodb简介
- mongoDB——java操作mongoDB实现文件上传下载
- mongoDB——java操作mongoDB实现文件上传下载
- mongoDB——java操作mongoDB实现文件上传下载
- mongoDB——java操作mongoDB实现文件上传下载
- mongoDB——java操作mongoDB实现文件上传下载
- mongoDB——java操作mongoDB实现文件上传下载
- 避免Gson使用时将一些字符自动转换为Unicode转义字符
- gson JsonParser
- Android BroadcastReceiver
- k-Means算法Matlab实现
- 鼠标滚动局部-选项卡
- mongodb基础系列——java操作mongodb实现CURD
- com.alibaba.fastjson.JSONException: unclosed string
- thinking in java 笔记4
- MongoDB学习笔记(查询)
- 设计模式学习笔记(1)
- 1.3.6(extra)
- MongoDB学习笔记(索引)
- Mybatis 的Log4j日志输出问题 - 以及有关日志的所有问题
- java中的自增过程不是原子性操作