java mongodb-crud

本篇文章主要介绍了mongodb对应java的常用增删改查的api,以及和spring集成后mongoTemplate的常用方法使用,废话不多说,直接上代码:

1.首先上需要用到的两个实体类User和Home,对应用户和家乡

import java.util.List;
import org.springframework.data.mongodb.core.mapping.Document;
/**
 * java类转换为mongodb的文档,它有以下几种注释:
 * [email protected] - 文档的唯一标识,在mongodb中为ObjectId,它是唯一的,通过时间戳+机器标识+进程ID+自增计数器(确保同一秒内产生的Id不会冲突)构成。
 * [email protected] - 把一个java类声明为mongodb的文档,可以通过collection参数指定这个类对应的文档。
 * [email protected] - 声明该字段需要索引,建索引可以大大的提高查询效率。
 * [email protected] - 映射忽略的字段,该字段不会保存到MongoDB
 * [email protected] - 复合索引的声明,建复合索引可以有效地提高多字段的查询效率。
 * [email protected] - 声明构造函数,作用是把从数据库取出的数据实例化为对象。该构造函数传入的值为从DBObject中取出的数据。
 * @author zhangguochen
 *
 */
@Document(collection="user")
public class User {

private String id;
private String name;
private int age;
private List<String> interest;
private String wife;
private Home home;

public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName1(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public List<String> getInterest() {
return interest;
}
public void setInterest(List<String> interest) {
this.interest = interest;
}
public String getWife() {
return wife;
}
public void setWife(String wife) {
this.wife = wife;
}
public Home getHome() {
return home;
}
public void setHome(Home home) {
this.home = home;
}
}

public class Home {

private String address;

public Home(String address) {
super();
this.address = address;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}

2.以下类MongoDBTest.java展示了mongodb的java api常用的增删改查的方法的使用

import java.util.List;
import java.util.Set;
import java.util.regex.Pattern;
import junit.framework.TestCase;
import org.bson.types.ObjectId;
import org.junit.Before;
import org.junit.BeforeClass;
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.QueryBuilder;
import com.mongodb.QueryOperators;

public class MongoDBTest extends TestCase{

Mongo mongo = null;
DB db = null;
DBCollection user = null;

@BeforeClass
public static void setUpBeforeClass() throws Exception {
}

@Before
public void setUp() throws Exception {
//创建一个MongoDB的数据库连接对象,无参数的话它默认连接到当前机器的localhost地址,端口是27017。
mongo = new Mongo("192.168.225.101",27017);
//得到一个test的数据库,如果mongoDB中没有这个数据库,当向此库中添加数据的时候会自动创建
db = mongo.getDB("test");
db.authenticate("test", "test".toCharArray());
//获取到一个叫做"user"的集合,相当于关系型数据库中的"表"
user = db.getCollection("user");
}

/**
 * 查询所有的集合名称
 */
public void testGetAllCollections() {
Set<String> collectionNames = db.getCollectionNames();
for(String name:collectionNames) {
System.out.println("collectionName:"+name);
}
}

/**
 * 查询所有的用户信息
 */
public void testFind() {
testInitTestData();
//find方法查询所有的数据并返回一个游标对象
DBCursor cursor = user.find();

while(cursor.hasNext()) {
print(cursor.next());
}
//获取数据总条数
int sum = cursor.count();
System.out.println("sum==="+sum);
}

/**
 * 查询第一条数据
 */
public void testFindOne() {
testInitTestData();
//只查询第一条数据
DBObject oneUser = user.findOne();
print(oneUser);
}

/**
 * 条件查询
 */
public void testConditionQuery() {
testInitTestData();
//查询id=50a1ed9965f413fa025166db
DBObject oneUser = user.findOne(new BasicDBObject("_id",new ObjectId("50a1ed9965f413fa025166db")));
print(oneUser);

//查询age=24
List<DBObject> userList1 = user.find(new BasicDBObject("age",24)).toArray();
print("        find age=24: ");
printList(userList1);

//查询age>=23
List<DBObject> userList2 = user.find(new BasicDBObject("age",new BasicDBObject("$gte",23))).toArray();
print("        find age>=23: ");
printList(userList2);

//查询age<=20
List<DBObject> userList3 = user.find(new BasicDBObject("age",new BasicDBObject("$lte",20))).toArray();
print("        find age<=20: ");
printList(userList3);

//查询age!=25
List<DBObject> userList4 = user.find(new BasicDBObject("age",new BasicDBObject("$ne",25))).toArray();
print("        find age!=25: ");
printList(userList4);

//查询age in[23,24,27]
List<DBObject> userList5 = user.find(new BasicDBObject("age",new BasicDBObject(QueryOperators.IN,new int[]{23,24,27}))).toArray();
print("        find agein[23,24,27]: ");
printList(userList5);

//查询age not in[23,24,27]
List<DBObject> userList6 = user.find(new BasicDBObject("age",new BasicDBObject(QueryOperators.NIN,new int[]{23,24,27}))).toArray();
print("        find age not in[23,24,27]: ");
printList(userList6);

//查询29>age>=20
List<DBObject> userList7 = user.find(new BasicDBObject("age",new BasicDBObject("$gte",20).append("$lt", 29))).toArray();
print("        find 29>age>=20: ");
printList(userList7);

//查询age>24 and name="zhangguochen"
BasicDBObject query = new BasicDBObject();
query.put("age", new BasicDBObject("$gt",24));
query.put("name", "zhangguochen");
List<DBObject> userList8 = user.find(query).toArray();
print("        find age>24 and name=‘zhangguochen‘:");
printList(userList8);

//和上面的查询一样,用的是QueryBuilder对象
QueryBuilder queryBuilder = new QueryBuilder();
queryBuilder.and("age").greaterThan(24);
queryBuilder.and("name").equals("zhangguochen");
List<DBObject> userList82 = user.find(queryBuilder.get()).toArray();
print("        QueryBuilder find age>24 and name=‘zhangguochen‘:");
printList(userList82);

//查询所有的用户,并按照年龄升序排列
List<DBObject> userList9 = user.find().sort(new BasicDBObject("age",1)).toArray();
print("        find all sort age asc: ");
printList(userList9);

//查询特定字段
DBObject query1 = new BasicDBObject();//要查的条件 
        query.put("age", new BasicDBObject("$gt",20)); 
        DBObject field = new BasicDBObject();//要查的哪些字段 
        field.put("name", true); 
        field.put("age", true); 
        List<DBObject> userList10=user.find(query1,field).toArray();
        print("        select name,age where age>20");
        printList(userList10);
        
//查询部分数据
        DBObject query2 = new BasicDBObject();//查询条件
        query2.put("age", new BasicDBObject("$lt",27));
        DBObject fields = new BasicDBObject();//查询字段
        fields.put("name",true);
        fields.put("age", true);
        List<DBObject> userList11 = user.find(query2, fields, 1, 1).toArray();
print("        select age,name from user skip 1 limit 1:");
printList(userList11);

//模糊查询
DBObject fuzzy_query=new BasicDBObject();  
        String keyWord="zhang";  
        Pattern pattern = Pattern.compile("^" + keyWord + ".*$", Pattern.CASE_INSENSITIVE);  
        fuzzy_query.put("name", pattern);
        //根据name like zhang%查询
        List<DBObject> userList12 = user.find(fuzzy_query).toArray();
        print("        select * from user where name like ‘zhang*‘");
        printList(userList12);

}

/**
 * 删除用户数据
 */
public void testRemoveUser() {
testInitTestData();
DBObject query=new BasicDBObject();  
//删除age>24的数据
query.put("age", new BasicDBObject("$gt",24));
user.remove(query);
printList(user.find().toArray());
}

/**
 * 修改用户数据
 */
public void testUpdateUser() {

//update(query,set,false,true);
//query:需要修改的数据查询条件,相当于关系型数据库where后的语句
//set:需要设的值,相当于关系型数据库的set语句
//false:需要修改的数据如果不存在,是否插入新数据,false不插入,true插入
//true:如果查询出多条则不进行修改,false:只修改第一条

testInitTestData();

//整体更新
DBObject query=new BasicDBObject(); 
query.put("age", new BasicDBObject("$gt",15));
DBObject set=user.findOne(query);//一定是查询出来的DBObject,否则会丢掉一些列,整体更新
set.put("name", "Abc");
set.put("age", 19);
set.put("interest", new String[]{"hadoop","study","mongodb"});
DBObject zhangguochenAddress = new BasicDBObject();
zhangguochenAddress.put("address", "henan");
set.put("home", zhangguochenAddress);
user.update(query, //需要修改的数据条件
set,//需要赋的值
false,//数据如果不存在,是否新建
false);//false只修改第一条,true如果有多条就不修改
printList(user.find().toArray());

//局部更新,只更改某些列
//加上$set会是局部更新,不会丢掉某些列,只把name更新为"jindazhong",年龄更新为123
BasicDBObject set1 = new BasicDBObject("$set", new BasicDBObject("name","jindazhong").append("age", 123));
user.update(query, //需要修改的数据条件
set1,//需要赋的值
false,//数据如果不存在,是否新建
false);//false只修改第一条,true如果有多条就不修改
printList(user.find().toArray());

//批量更新
// user.updateMulti(new BasicDBObject("age",new BasicDBObject("$gt",16)), 
// new BasicDBObject("$set", new BasicDBObject("name","jindazhong").append("age", 123)));
// printList(user.find().toArray());

}

/**
 * 初始化测试数据
 */
public void testInitTestData() {
user.drop();
DBObject zhangguochen = new BasicDBObject();
zhangguochen.put("name", "zhangguochen");
zhangguochen.put("age", 25);
zhangguochen.put("interest", new String[]{"hadoop","study","mongodb"});
DBObject zhangguochenAddress = new BasicDBObject();
zhangguochenAddress.put("address", "henan");
zhangguochen.put("home", zhangguochenAddress);

DBObject jindazhong = new BasicDBObject();
jindazhong.put("name", "jindazhong");
jindazhong.put("age", 21);
jindazhong.put("interest", new String[]{"hadoop","mongodb"});
jindazhong.put("wife", "小龙女");
DBObject jindazhongAddress = new BasicDBObject();
jindazhongAddress.put("address", "shanghai");
jindazhong.put("home", jindazhongAddress);

DBObject yangzhi = new BasicDBObject();
yangzhi.put("name", "yangzhi");
yangzhi.put("age", 22);
yangzhi.put("interest", new String[]{"shopping","sing","hadoop"});
DBObject yangzhiAddress = new BasicDBObject();
yangzhiAddress.put("address", "hubei");
yangzhi.put("home", yangzhiAddress);

DBObject diaoyouwei = new BasicDBObject();
diaoyouwei.put("name", "diaoyouwei");
diaoyouwei.put("age", 23);
diaoyouwei.put("interest", new String[]{"notejs","sqoop"});
DBObject diaoyouweiAddress = new BasicDBObject();
diaoyouweiAddress.put("address", "shandong");
diaoyouwei.put("home", diaoyouweiAddress);

DBObject cuichongfei = new BasicDBObject();
cuichongfei.put("name", "cuichongfei");
cuichongfei.put("age", 24);
cuichongfei.put("interest", new String[]{"ebsdi","dq"});
cuichongfei.put("wife", "凤姐");
DBObject cuichongfeiAddress = new BasicDBObject();
cuichongfeiAddress.put("address", "shanxi");
cuichongfei.put("home", cuichongfeiAddress);

DBObject huanghu = new BasicDBObject();
huanghu.put("name", "huanghu");
huanghu.put("age", 25);
huanghu.put("interest", new String[]{"shopping","study"});
huanghu.put("wife", "黄蓉");
DBObject huanghuAddress = new BasicDBObject();
huanghuAddress.put("address", "guangdong");
huanghu.put("home", huanghuAddress);

DBObject houchangren = new BasicDBObject();
houchangren.put("name", "houchangren");
houchangren.put("age", 26);
houchangren.put("interest", new String[]{"dota","dq"});
DBObject houchangrenAddress = new BasicDBObject();
houchangrenAddress.put("address", "shandong");
houchangren.put("home", houchangrenAddress);

DBObject wangjuntao = new BasicDBObject();
wangjuntao.put("name", "wangjuntao");
wangjuntao.put("age", 27);
wangjuntao.put("interest", new String[]{"sport","study"});
wangjuntao.put("wife", "王语嫣");
DBObject wangjuntaoAddress = new BasicDBObject();
wangjuntaoAddress.put("address", "hebei");
wangjuntao.put("home", wangjuntaoAddress);

DBObject miaojiagui = new BasicDBObject();
miaojiagui.put("name", "miaojiagui");
miaojiagui.put("age", 28);
miaojiagui.put("interest", new String[]{"hadoop","study","linux"});
miaojiagui.put("wife", null);
DBObject miaojiaguiAddress = new BasicDBObject();
miaojiaguiAddress.put("address", "未知");
miaojiagui.put("home", miaojiaguiAddress);

DBObject longzhen = new BasicDBObject();
longzhen.put("name", "longzhen");
longzhen.put("age", 29);
longzhen.put("interest", new String[]{"study","cook"});
longzhen.put("wife", null);
DBObject longzhenAddress = new BasicDBObject();
longzhenAddress.put("address", "sichuan");
longzhen.put("home", longzhenAddress);

user.insert(zhangguochen);
user.insert(jindazhong);
user.insert(yangzhi);
user.insert(diaoyouwei);
user.insert(cuichongfei);
user.insert(huanghu);
user.insert(houchangren);
user.insert(wangjuntao);
user.insert(miaojiagui);
user.insert(longzhen);
}

public void testRemove() {
user.drop();
}

/**
 * 打印数据
 * @param object
 */
public void print(Object object){
System.out.println(object);
}

/**
 * 打印列表
 * @param objectList
 */
public void printList(List<DBObject> objectList) {
for(Object object:objectList) {
print(object);
}
}
}

以上代码小伙伴们直接拷贝到相关工具就可以测试运行哦!!!!

3.以下代码展示了mongodb和spring的集成的使用,主要是mongoTemplate类的使用。

import static org.springframework.data.mongodb.core.query.Criteria.where;
import java.util.ArrayList;
import java.util.List;
import com.jd.bse.incubator.mongo.entity.Home;
import com.jd.bse.incubator.mongo.entity.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:/spring/mongodb-config.xml"})//这里要用到mongodb的配置文件
public class MongoSpringTest{

@Autowired
private MongoTemplate mongoTemplate;

/**
 * 插入用户信息
 */
@Test
public void testAddUser() {
User zhanggc = new User();
zhanggc.setName1("zhangguochen");
zhanggc.setAge(29);
List<String> interests = new ArrayList<String>();
interests.add("stuty");
interests.add("hadoop");
zhanggc.setInterest(interests);
Home home = new Home("henan");
zhanggc.setHome(home);

//插入数据
mongoTemplate.insert(zhanggc);
}

/**
 * 查询用户信息
 */
@Test
public void testQueryUser() {
//查询主要用到Query和Criteria两个对象
Query query = new Query();
Criteria criteria = where("age").gt(22);

// criteria.and("name").is("cuichongfei");等于
// List<String> interests = new ArrayList<String>();
// interests.add("study");
// interests.add("linux");
// criteria.and("interest").in(interests);   in查询
// criteria.and("home.address").is("henan"); 内嵌文档查询
// criteria.and("").exists(false);           列存在
// criteria.and("").lte();                   小于等于
// criteria.and("").regex("");               正则表达式
// criteria.and("").ne("");                  不等于

query.addCriteria(criteria);
List<User> userList1 = mongoTemplate.find(query, User.class);
printList(userList1);

//排序查询sort方法,按照age降序排列
// query.sort().on("age", Order.DESCENDING);
// List<User> userList2 = mongoTemplate.find(query, User.class);
// printList(userList2);

//指定字段查询,只查询age和name两个字段
// query.fields().include("age").include("name");
// List<User> userList3 = mongoTemplate.find(query, User.class);
// printList(userList3);

//分页查询
// query.skip(2).limit(3);
// List<User> userList4 = mongoTemplate.find(query, User.class);
// printList(userList4);

//查询所有
// printList(mongoTemplate.findAll(User.class));

//统计数据量
// System.out.println(mongoTemplate.count(query, User.class));

}

/**
 * 更新用户数据
 */
@Test
public void testUpdateUser() {
//update(query,update,class)
//Query query:需要更新哪些用户,查询参数
//Update update:操作符,需要对数据做什么更新
//Class class:实体类

//更新age大于24的用户信息
Query query = new Query();
query.addCriteria(where("age").gt(24));

Update update = new Update();
//age值加2
update.inc("age", 2);
// update.set("name", "zhangsan"); 直接赋值
// update.unset("name");           删去字段   
// update.push("interest", "java"); 把java追加到interest里面,interest一定得是数组
// update.pushAll("interest", new String[]{".net","mq"}) 用法同push,只是pushAll一定可以追加多个值到一个数组字段内
// update.pull("interest", "study"); 作用和push相反,从interest字段中删除一个等于value的值
// update.pullAll("interest", new String[]{"sing","dota"})作用和pushAll相反
// update.addToSet("interest", "study") 把一个值添加到数组字段中,而且只有当这个值不在数组内的时候才增加
// update.rename("oldName", "newName") 字段重命名

//只更新第一条记录,age加2,name值更新为zhangsan
mongoTemplate.updateFirst(query, new Update().inc("age", 2).set("name", "zhangsan"), User.class);

//批量更新,更新所有查询到的数据
mongoTemplate.updateMulti(query, update, User.class);

}

/**
 * 测试删除数据
 */
@Test
public void testRemoveUser() {
Query query = new Query();
// query.addCriteria(where("age").gt(22));
Criteria criteria = where("age").gt(22);
//删除年龄大于22岁的用户
query.addCriteria(criteria);
mongoTemplate.remove(query, User.class);
}

public MongoTemplate getMongoTemplate() {
return mongoTemplate;
}

public void setMongoTemplate(MongoTemplate mongoTemplate) {
this.mongoTemplate = mongoTemplate;
}

public void printList(List<User> userList) {
System.out.println("**********************************************************************************************************");
for(User user:userList) {
System.out.println(user);
}
System.out.println("**********************************************************************************************************");
}
}

4.以下是/mongodb-config.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd">

<context:component-scan base-package="com.jd.mongo"/>

<context:annotation-config />

<!-- config db property file location -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
 
      <property name="locations">  
           <list>  
              <value>classpath:conf/mongo.properties</value>  
         </list>  
      </property>  
   </bean> 
   
    <!-- 定义mongo对象,对应的是mongodb官方jar包中的Mongo -->
<mongo:mongo host="${mongo.host.job}" port="${mongo.port.job}"/>

<!-- 一些连接属性的设置,属性意义详见http://www.cnblogs.com/zsuxiong/archive/2012/09/05/2671960.html --> 
<!--<mongo:mongo id="mongo" replica-set="localhost:27017">
       <mongo:options
             connections-per-host="${mongo.connectionsPerHost}"
             threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}"
             connect-timeout="${mongo.connectTimeout}"
             max-wait-time="${mongo.maxWaitTime}"
             auto-connect-retry="${mongo.autoConnectRetry}"
             socket-keep-alive="${mongo.socketKeepAlive}"
             socket-timeout="${mongo.socketTimeout}"
             slave-ok="${mongo.slaveOk}"
             write-number="1"
             write-timeout="0"
             write-fsync="true"/>        
        </mongo:mongo>-->

<!-- mongo的工厂,通过它来取得mongo实例,dbname为mongodb的数据库名,没有的话会自动创建 -->
<mongo:db-factory id="mongoDbFactory" dbname="${mongo.dbname.job}" username="${mongo.username.job}" password="${mongo.password.job}" mongo-ref="mongo"/>

<!-- mongodb的主要操作对象,所有对mongodb的增删改查的操作都是通过它完成 -->
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory"/>
</bean>
</beans>

5.以下是配置文件mongo.properties,也就是mongodb的连接信息

mongo.host.job=192.168.232.62:27017
mongo.dbname.job=erp
mongo.needauth.job=true
mongo.username.job=erp
mongo.password.job=erp

时间: 2024-11-10 08:16:33

java mongodb-crud的相关文章

【MongoDB数据库】Java MongoDB CRUD Example

上一篇我们讲了MongoDB 的命令入门初探,本篇blog将基于上一篇blog所建立的数据库和表完毕一个简单的Java MongoDB CRUD Example,利用Java连接MongoDB数据库.并实现创建数据库.获取表.遍历表中的对象.对表中对象进行CRUD操作等例程. 1.下载MongoDB Java 支持驱动包 [gitHub下载地址]https://github.com/mongodb/mongo-java-driver/downloads 2.建立Javaproject,并导入ja

那位帮忙提供一个java mongodb多个collection进行mapreduce的操作。

原文:那位帮忙提供一个java mongodb多个collection进行mapreduce的操作. 代码下载地址:http://www.zuidaima.com/share/1550463227890688.htm 我想统计下每个月某个视频的播放量,需要跨日表去mapreduce. 那位帮忙提供一个java mongodb多个collection进行mapreduce的操作.,布布扣,bubuko.com

java MongoDB查询(二)复杂查询

前言 在上篇<java MongoDB查询(一)简单查询>中我们简单了解了下查询,但是仅仅有那些查询是不够用的,还需要复杂的查询,这篇就这点进行叙述. 1.数据结构 集合:firstCollection 数据内容: { "_id" : ObjectId("55adba52fa1f3cf038c2aea6"), "name" : "user0", "age" : 22, "sex&quo

java MongoDB分页优化

最近项目在做网站用户数据新访客统计,数据存储在MongoDB中,统计的数据其实也并不是很大,1000W上下,但是公司只配给我4G内存的电脑,让我程序跑起来气喘吁吁...很是疲惫不堪. 最常见的问题莫过于查询MongoDB内存溢出,没办法只能分页查询.这种思想大家可能都会想到,但是如何分页,确实多有门道! 网上用的最多的,也是最常见的分页采用的是skip+limit这种组合方式,这种方式对付小数据倒也可以,但是对付上几百上千万的大数据,却只能望而兴叹... 经过网上各种查找资料,寻师问道的,发现了

Java MongoDB : Save image example

Java MongoDB : Save image example In this tutorial, we show you how to save an image file into MongoDB, via GridFS API. The GridFS APIs are able to serve other binary files as well, like video and music files. 译:在本教程中,我们将向你展示如何通过 GridFS API 保存一个图片到Mo

Java mongodb api疑问之MongoCollection与DBCollection

在学习Java mongodb api时发现,可以调用不同的java mongodb api来连接数据库并进行相关操作. 方式一: 该方式使用mongoClient.getDB("xxx")来获取DB对象,然后通过getCollection("xxx")获取相应的集合.其他操作略. import com.mongodb.BasicDBObject; import com.mongodb.DBCollection; import com.mongodb.DBObjec

mongoDB Java SDK CRUD操作例子

Example: package com.sdfwerwer.test; import java.net.UnknownHostException; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.Mongo; i

Java MongoDB Driver 3.x - Quickly Start

Maven Dependency: <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.2.2</version> </dependency> Make a Connection The following example shows five ways to conn

MongoDB - MongoDB CRUD Operations

CRUD operations create, read, update, and delete documents. Create Operations Create or insert operations add new documents to a collection. If the collection does not currently exist, insert operations will create the collection. MongoDB provides th

关于Mongdb的java的CRUD操作

package mongodb; import java.net.UnknownHostException;import java.util.List; import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBCursor;import com.mongodb.Mongo; public class MongoCRUD { public