java 连接mongodb 数据_Java连接mongodb数据库

数据库设计

利用vnc链接到曙光服务器,并开启mongodb数据库服务

输入:cd ~

输入:mkdir –p ./data/db

输入:mongod –dbpath=./data/db

不要关闭终端,再打开另一个终端

输入:mongo

mongodb shell界面创建数据库

输入:use kaili

创建集合

输入:db.createCollection(“student”)

插入数据5条不同的数据

输入:db.student.insert({"name":"xiaoming","cla":"16","age":19})

输入:db.student.insert({"name":"xiaoming2","cla":"16","age":20})

输入:db.student.insert({"name":"xiaoming3","cla":"14","age":24})

输入:db.student.insert({"name":"xiaoming4","cla":"13","age":23})

输入:db.student.insert({"name":"xiaoming5","cla":"12","age":22})

二、建立java工程

1、打开eclipse,并新建java工程

2、工程目录下新建lib文件夹

3、导入mongodb包,复制到lib文件夹下。并且工程引用

c0c4fe64ff569ad944ab85d3150be8b2.png

下载地址:https://github.com/sparkxgd/edu/archive/master.zip

4、工程目录下src目录下新建com包

5、在com下创建Test、MongoDB、Student类

5740d6b848588573bb847d549f44ee76.png

MongoDB.java

package com;

import com.mongodb.MongoClient;

import com.mongodb.client.MongoDatabase;

public class MongoDB {

private MongoClient mongoClient;

private MongoDatabase mongoDatabase;

/**

* 启动

* @param host

* @param port

*/

public MongoDB(String host,int port,String dbname) {

// 连接到 mongodb 服务

try {

mongoClient = new MongoClient(host,port);

// 连接到数据库

mongoDatabase = mongoClient.getDatabase(dbname);

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 停止

* @return

*/

public void stop() {

if(mongoClient!=null) {

mongoClient.close();

}

}

public MongoDatabase getDB() {

return mongoDatabase;

}

}

Student .java

package com;

import org.bson.Document;

import com.mongodb.client.FindIterable;

import com.mongodb.client.MongoCollection;

import com.mongodb.client.model.Filters;

import com.mongodb.client.result.UpdateResult;

public class Student {

private MongoCollectioncollection;

private String tableName ="student";

public Student(MongoDB mongo) {

this.collection = mongo.getDB().getCollection(tableName);

}

//插入文档

/**

* 1. 创建文档 org.bson.Document 参数为key-value的格式

* 2. 创建文档集合List* 3. 将文档集合插入数据库集合中 mongoCollection.insertMany(List) 插入单个文档可以用 mongoCollection.insertOne(Document)

* */

public boolean add(Document document) {

collection.insertOne(document);

return true;

}

/**

* 删除

* @param fieldName

* @param value

* @return

*/

public boolean delOne(String fieldName, Object value) {

collection.deleteOne(Filters.eq(fieldName, value));

return true;

}

//检索所有文档

/**

* 1. 获取迭代器FindIterable* 2. 获取游标MongoCursor* 3. 通过游标遍历检索出的文档集合

* */

public FindIterablefind() {

FindIterablefindIterable = collection.find();

return findIterable;

}

public UpdateResult update(String fieldName, Object value,String upatefieldName, Object updatevalue) {

//更新文档 将文档中likes=100的文档修改为likes=200

UpdateResult r=collection.updateMany(Filters.eq(fieldName, 100), new Document("$set",new Document(upatefieldName,updatevalue)));

return r;

}

}

Test.java

package com;

import org.bson.Document;

import com.MongoDB;

import com.Student;

import com.mongodb.client.FindIterable;

import com.mongodb.client.MongoCursor;

public class Test {

public static void main(String[] args) {

String host="192.168.26.111";//ip地址

int port=27017 ;

String dbname="kaili";//数据库名

MongoDB mongo=new MongoDB(host, port, dbname);

Student st=new Student(mongo);

//查找数据

FindIterablefindIterable =st.find();

MongoCursormongoCursor = findIterable.iterator();

//遍历出来

while(mongoCursor.hasNext()){

System.out.println(mongoCursor.next());

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值