http://blog.csdn.net/rjfxd/article/details/12110025
一、准备工作
1、建立maven项目,添加所需依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.11.3</version>
</dependency>
当然也可以建立java project,下载mongoDB对Java支持的驱动包,然后拷贝jar文件到lib下
2、开启mongo服务,建立测试类进行测试
二、完整源码如下:
- package com.shxt.mongo;
- import java.net.UnknownHostException;
- import java.util.ArrayList;
- import java.util.List;
- import org.bson.types.ObjectId;
- import org.junit.After;
- import org.junit.Before;
- import org.junit.Test;
- 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.MongoClient;
- import com.mongodb.util.JSON;
- /**
- * MongDB之CRUD
- * @author 范晓东
- * @ClassName: TestMongo
- * @Version 1.0
- * @ModifiedBy
- * @Copyright shxt
- * @date 2013-9-27 下午08:21:49
- * @description
- */
- public class TestMongo {
- private Mongo mg = null;
- private DB db;
- private DBCollection users;
- @Before
- public void setUp() throws UnknownHostException {
- // 创建一个MongoDB的数据库连接对象
- mg=new MongoClient("localhost", 27017);
- //验证模式登录(如果不设置验证模块,可直接登录)
- //想要登录验证模块生效,需在命令行下输入1->mongo 2->use admin 3->db.addUser("root","root123"); 4->db.auth("root","root123");
- DB admin=mg.getDB("admin");
- boolean bool =admin.authenticate("root", "root123".toCharArray());
- if (bool){
- //login success
- //获得一个test的数据库,如果该数据库不存在,会自动创建
- db=mg.getDB("test");
- }
- // 获取一个聚集集合DBCollection,相当于我们的数据库表
- users = db.getCollection("users");
- }
- @Test
- public void testQuery() {
- //查询所有的数据库
- for (String name : mg.getDatabaseNames()) {
- System.out.println("dbName: " + name);
- }
- //查询所有的聚集集合
- for (String name : db.getCollectionNames()) {
- System.out.println("collectionName: " + name);
- }
- //查询所有的数据
- DBCursor cur = users.find();
- while (cur.hasNext()) {
- System.out.println(cur.next());
- }
- //其它
- System.out.println(cur.count());
- System.out.println(users.count());
- System.out.println(cur.getCursorId());
- System.out.println(JSON.serialize(cur));//JSON对象转换
- }
- @Test
- public void testQuery2(){
- //根据id查询
- List<DBObject> list=users.find(new BasicDBObject("_id", new ObjectId("5243871a0609f38c8a7a5ccd"))).toArray();
- System.out.println(list.get(0).get("name"));
- //根据age查询,从第一条开始取,取3条数据
- BasicDBObject user = new BasicDBObject();
- user.put("age", new BasicDBObject("$gte", 20));
- DBCursor cur=users.find(user).skip(0).limit(3);
- System.out.println(cur.count());
- while (cur.hasNext()) {
- System.out.println(cur.next());
- }
- //查询age!=25
- //users.find(new BasicDBObject("age", new BasicDBObject("$ne", 25))).toArray();
- //查询age in 25/26/27
- //users.find(new BasicDBObject("age", new BasicDBObject(QueryOperators.IN, new int[] { 25, 26, 27 }))).toArray();
- //查询age not in 25/26/27
- //users.find(new BasicDBObject("age", new BasicDBObject(QueryOperators.NIN, new int[] { 25, 26, 27 }))).toArray();
- //查询存在age的数据
- //users.find(new BasicDBObject("age", new BasicDBObject(QueryOperators.EXISTS, true))).toArray();
- //只查询age属性
- //users.find(null, new BasicDBObject("age", true)).toArray();
- //只查询一条数据,多条取第一条
- //users.findOne();
- //users.findOne(new BasicDBObject("age", 26));
- //users.findOne(new BasicDBObject("age", 26), new BasicDBObject("name", true));
- //查询age=25的数据并删除
- //users.findAndRemove(new BasicDBObject("age", 25));
- //查询age=26的数据,并且修改name的值为abc
- //users.findAndModify(new BasicDBObject("age", 26), new BasicDBObject("name", "abc"));
- }
- @Test
- public void testAdd() {
- DBObject user = new BasicDBObject();
- user.put("name", "fxd");
- user.put("age", 21);
- user.put("sex", "男");
- users.save(user);
- //查看是否添加成功
- DBCursor cur = users.find();
- while (cur.hasNext()) {
- System.out.println(cur.next());
- }
- }
- @Test
- public void testAdd2() {
- DBObject user1 = new BasicDBObject("name","张三");
- DBObject user2 = new BasicDBObject("age",20);
- users.insert(user1,user2);
- //查看是否添加成功
- DBCursor cur = users.find();
- while (cur.hasNext()) {
- System.out.println(cur.next());
- }
- }
- @Test
- public void testAdd3() {
- DBObject user1 = new BasicDBObject("name","张三");
- DBObject user2 = new BasicDBObject("age",20);
- List<DBObject> list = new ArrayList<DBObject>();
- list.add(user1);
- list.add(user2);
- users.insert(list);
- //查看是否添加成功
- DBCursor cur = users.find();
- while (cur.hasNext()) {
- System.out.println(cur.next());
- }
- }
- @Test
- public void testRemove(){
- users.remove(new BasicDBObject("_id", new ObjectId("524378680609ad5717421c6a")));
- //users.remove(new BasicDBObject("age", new BasicDBObject("$gte", 24)));
- }
- @Test
- public void update(){
- //=update users set age=17 where name='fxd';
- users.update(
- new BasicDBObject("name","fxd"),//new BasicDBObject().append("name","fxd"),
- new BasicDBObject("$set" ,new BasicDBObject("age",17)),
- false,//如果users中不存在age字段,是否更新,false表示不更新
- false//只修改第一条,true表示修改多条
- );
- }
- @Test
- public void update2(){
- //批量修改,也可以用users.update(),把第四个参数改为true即可
- //=update users set age=age+10 where name='fxd';
- users.updateMulti(
- new BasicDBObject().append("name","fxd"),
- new BasicDBObject("$inc",new BasicDBObject("age", 10))
- );
- }
- @After
- public void tearDown() {
- if (mg != null) {
- if (db != null) {
- // 结束Mongo数据库的事务请求
- try {
- db.requestDone();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- try {
- mg.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- mg = null;
- db = null;
- }
- }
- }
参考:
http://www.cnblogs.com/hoojo/archive/2011/06/02/2068665.html
相关推荐
JAVA连接MongoDB,并进行简单的增删改查操作小例子源码,相关博文: http://blog.csdn.net/dream_broken/article/details/36014733
MongoDB java API实现增删改查,包含批量操作
java 操作mongodb代码,可直接运行成功,作为初学者非常实用。其中数据库是包含用户名和密码,用户名root ,密码root。
演示了JAVA怎样操作mongodb数据库进行增删改查操作。
java连接mongoDB,增删改查操作等等
java操作mongodb增删改查mongodb查询 in like 修改自增
java连接Mongodb进行增删改查,包括查询、删除、增加等功能
nodejs+express+mongodb 博客系统增删改查完整版,包括用户注册,博客发表,博客修改,博客删除,权限控制。后台连接mongodb:blog
使用Java对MongoDB进行一些基础操作,包括增删改查基础搓澡。给刚接触mongodb或者想使用Java操作Mongodb的童鞋们一些引导性的帮助。
java对mongodb数据库的增删改查测试demo。可直接运行,需要自己安装mongodb数据库,需要手动添加bins包下面的jdbc的jar包和junit4的jar包。包含自己写的mongodb安装文档。
一个完全符合企业设计规范的Java操作MongoDB数据库,涉及各种增删改查操作及@Test增删改查使用示范,可极大方便MongoDB开发,可直接通过代码学习MongoDB的使用。 使用环境:Myeclipse、MongoDB
mongoDB增删改查+前端页面实现+idea+themlesf+mybatis
使用nodejs操作mongodb来实现增删改查,适合初学者 文章链接:http://blog.csdn.net/wang_situ/article/details/39959643
本源码提供了一个基于Html的crud-express-mongodb增删改查设计。项目包含1586个文件,其中...这个项目是一个基于crud-express-mongodb的增删改查系统,可能包括数据的增删改查等功能,适合用于需要进行数据操作的场景。
MongoDB增删改查操作案例-用户信息增删改查.zip
利用spring和springmvc对mongodb数据库进行增删改查。
MongoDB是我们目前比较主流的一种缓存数据库,一些比较大的网站都在使用这个缓存数据库,以解决高并发,大数据的问题。前几天学习了一下这个,希望可以帮到大家。
本Demo简单演示了如何使用Express 4.x 与MongoDb实现增删改查等Web网站最基本的功能
MongoDb增删改查的网站范例,Using the spring-data project and the mongodb adapter specifically.