当前位置:首页 » 编程语言 » javamongodb

javamongodb

发布时间: 2023-09-06 04:04:40

㈠ mongodb需要java基础吗

需要有java基础。

Java 基础语法

一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。

类:类是一个模板,它描述一类对象的行为和状态。方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

编写 Java 程序时,应注意以下几点:大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如MyFirstJavaClass。

方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。




㈡ 浅谈如何用Java操作MongoDB

本文主要讲述如何使用Java操作MongoDB以及了解MongoDB如何进行日常的数据库操作。 文章内容如下: 第一步:安 NoSQL数据库因其可扩展性使其变得越来越流行,利用NoSQL数据库可以给你带来更多的好处,MongoDB是一个用C++编写的可度可扩展性的开源NoSQL数据库。本文主要讲述如何使用Java操作MongoDB以及了解MongoDB如何进行日常的数据库操作。 文章内容如下: 第一步:安装MongoDB 无需太多的繁杂步骤,你只要在MongoDB官方网站查看安装说明,根据自己的操作系统进行选择适应的版本即可。 第二步:启动MongoDB服务器 这一步也很简单。运行mongod.exe文件里的bin文件夹(我使用的是Windows OS系统),并启动MongoDB服务器。 在默认的情况下服务器将启动端口27017,你需要在安装过程中创建将数据存储在/data/db目录里。 第三步:启动MongoDB shell指令 你可以通过运行mongo.exe文件来启动MongoBD shell。 第四步:利用MongoDB创建数据库 利用MongoDB在MongoDB shell中输入以下内容建立一个名为“company”的数据库。 双击代码全选 1
use company 记住,除非你在MangoDB里保存了一些东西,否则它不会自动为你保存。 使用下面的命令帮你查看可用的数据库,它会显示“company”尚未被创建。 双击代码全选 1
show dbs; 第五步:在MongoDB中保存数据 使用下面的命令来保存employee 数据代表一个collection,将其命名为employees。 双击代码全选 1
employee = {name : "A", no : 1}
db.employees.save(employee) 通过使用下面的命令来查看collection里的数据。 双击代码全选 1
db.users.find(); 如何使用Java操作MongoDB? 下面是是一段简单的Java代码,你可以在这里获得mongo-java驱动。很简单,只需要使用下面的代码,重复上面的操作即可。 双击代码全选 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49packagecom.eviac.blog.mongo; importjava.net.UnknownHostException; importcom.mongodb.BasicDBObject; importcom.mongodb.DB; importcom.mongodb.DBCollection; importcom.mongodb.DBCursor; importcom.mongodb.Mongo; importcom.mongodb.MongoException; publicclassMongoDBClient { publicstaticvoidmain(String[] args) { try{ Mongo mongo = newMongo("localhost", 27017); DB db = mongo.getDB("company"); DBCollection collection = db.getCollection("employees"); BasicDBObject employee = newBasicDBObject(); employee.put("name", "Hannah"); employee.put("no", 2); collection.insert(employee); BasicDBObject searchEmployee = newBasicDBObject(); searchEmployee.put("no", 2); DBCursor cursor = collection.find(searchEmployee); while(cursor.hasNext()) { System.out.println(cursor.next()); } System.out.println("The Search Query has Executed!"); } catch(UnknownHostException e) { e.printStackTrace(); } catch(MongoException e) { e.printStackTrace(); } } }

㈢ java怎么连接mangodb需要哪些步骤

开发环境:

System:Win7

IDE:eclipse

Database:mongoDB

开发依赖库:

JavaEE5、mongo-2.5.3.jar、junit.jar、org.hamcrest.core_1.1.0.v20090501071000.jar

一、准备工作

1、下载Mongodb对java支持jar包

jar包下载地址:

mongoDB对Java的相关支持、技术:http://www.mongodb.org/display/DOCS/Java+Language+Center

驱动源码下载:https://download.github.com/mongodb-mongo-java-driver-r2.6.1-7-g6037357.zip

在线查看源码:https://github.com/mongodb/mongo-java-driver

2、下面建立一个JavaProject工程,导入下载下来的驱动包。即可在Java中使用mongoDB,目录如下:

二、Java操作MongoDB示例

在本示例之前你需要启动mongod.exe的服务,启动后,下面的程序才能顺利执行;

1、建立simpleTest.java,完成简单的mongoDB数据库操作

Mongomongo=newMongo();

这样就创建了一个MongoDB的数据库连接对象,它默认连接到当前机器的localhost地址,端口是27017。

DBdb=mongo.getDB(“test”);

这样就获得了一个test的数据库,如果mongoDB中没有创建这个数据库也是可以正常运行的。mongoDB可以在没有创建这个数据库的情况下,完成数据的添加操作。当添加的时候,没有这个库,mongoDB会自动创建当前数据库。

得到了db,下一步我们要获取一个“聚集集合DBCollection”,通过db对象的getCollection方法来完成。

DBCollectionusers=db.getCollection("users");

这样就获得了一个DBCollection,它相当于我们数据库的“表”。

查询所有数据:

DBCursorcur=users.find();

while(cur.hasNext()){

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

}

完整源码:

packagecom.mongodb;

importjava.net.UnknownHostException;

importcom.mongodb.util.JSON;

publicclasssimpleTest{

publicstaticvoidmain(String[]args)throwsUnknownHostException,MongoException{

Mongomg=newMongo();

//查询所有的Database

for(Stringname:mg.getDatabaseNames()){

System.out.println("dbName:"+name);

}

DBdb=mg.getDB("test");

//查询所有的聚集集合

for(Stringname:db.getCollectionNames()){

System.out.println("collectionName:"+name);

}

DBCollectionusers=db.getCollection("users");

//查询所有的数据

DBCursorcur=users.find();

while(cur.hasNext()){

System.out.println("while="+cur.next());

}

System.out.println("count="+cur.count());

System.out.println("CursorId="+cur.getCursorId());

System.out.println("cur="+JSON.serialize(cur));

}

}

2、完成CRUD操作,首先建立一个curdTset.java,基本测试代码如下:

packagecom.mongodb;

importjava.net.UnknownHostException;

importjava.util.ArrayList;

importjava.util.List;

importorg.bson.types.ObjectId;

importorg.junit.After;

importorg.junit.Before;

importorg.junit.Test;

importcom.mongodb.util.JSON;

publicclasscurdTset{

privateMongomg=null;

privateDBdb;

privateDBCollectionusers;//连接的mongodb数据库

@Before

publicvoidinit(){

System.out.println("TestBefore...");

try{

mg=newMongo();

//mg=newMongo("localhost",27017);

}catch(UnknownHostExceptione){

e.printStackTrace();

}catch(MongoExceptione){

e.printStackTrace();

}catch(Exceptione){

e.printStackTrace();

}

//获取testDB;如果默认没有创建,mongodb会自动创建

db=mg.getDB("test");

//获取usersDBCollection;如果默认没有创建,mongodb会自动创建

users=db.getCollection("users");

}

@After

publicvoiddestory(){

System.out.println("TestAfter...");

if(mg!=null){

mg.close();

}

mg=null;

db=null;

users=null;

System.gc();

}

publicvoidprint(Objecto){

System.out.println(o);

}

privatevoidqueryAll(){

print("查询users的所有数据:");

//db游标

DBCursorcur=users.find();

inti=1;

while(cur.hasNext()){

print("记录"+i+":"+cur.next());

i++;

}

}

@Test

publicvoidadd(){

//先查询所有数据

queryAll();

System.out.println("===============================ADDstart=======================================");

print("ADDcount:"+users.count());

DBObjectuser=newBasicDBObject();

user.put("name","hoojo");

user.put("age",24);

user.put("sex","男");

print(users.save(user).getN());

//添加多条数据,传递Array对象

print(users.insert(user,newBasicDBObject("name","tom")).getN());

//添加List集合

Listlist=newArrayList();

list.add(user);

DBObjectuser2=newBasicDBObject("name","lucy");

user.put("age",22);

list.add(user2);

//添加List集合

print(users.insert(list).getN());

//查询下数据,看看是否添加成功

print("count="+users.count());

System.out.println("===============================ADDend=======================================");

//查询所有数据

queryAll();

}

@Test

publicvoidremove(){

queryAll();

print("删除id=4dde2b06feb038463ff09042:"+users.remove(newBasicDBObject("_id",newObjectId("4dde2b06feb038463ff09042"))).getN());

print("removeage>=24:"+users.remove(newBasicDBObject("age",newBasicDBObject("$gte",24))).getN());

System.out.println("===============================REMOVEend=======================================");

//查询所有数据

queryAll();

}

@Test

publicvoidmodify(){

print("修改:"+users.update(newBasicDBObject("_id",newObjectId("4dde25d06be7c53ffbd70906")),newBasicDBObject("age",99)).getN());

print("修改:"+users.update(

newBasicDBObject("_id",newObjectId("4dde2b06feb038463ff09042")),

newBasicDBObject("age",121),

true,//如果数据库不存在,是否添加

false//多条修改

).getN());

print("修改:"+users.update(

newBasicDBObject("name","haha"),

newBasicDBObject("name","dingding"),

true,//如果数据库不存在,是否添加

false//false只修改第一条,true如果有多条就不修改

).getN());

//当数据库不存在就不修改、不添加数据,当多条数据就不修改

//print("修改多条:"+coll.updateMulti(newBasicDBObject("_id",newObjectId("4dde23616be7c19df07db42c")),newBasicDBObject("name","199")));

System.out.println("===============================EDITend=======================================");

//查询所有数据

queryAll();

}

@Test

publicvoidtestOthers(){

//查询所有数据

queryAll();

DBObjectuser=newBasicDBObject();

user.put("name","hoojo");

user.put("age",24);

//JSON对象转换

print("serialize:"+JSON.serialize(user));

//反序列化

print("parse:"+JSON.parse("{"name":"hoojo","age":24}"));

print("判断tempCollection是否存在:"+db.collectionExists("users"));

//如果不存在就创建

if(!db.collectionExists("users")){

DBObjectoptions=newBasicDBObject();

options.put("size",20);

options.put("capped",20);

options.put("max",20);

print(db.createCollection("account",options));

}

//设置db为只读

db.setReadOnly(true);

//只读不能写入数据

db.getCollection("test").save(user);

}

}

㈣ java使用mongodb找不到数据

public
void
doAfterSave(String
date_ymd)
{
try
{
ArrayList
<DBObject>
insertList
=
getArrayList(concurrentResultMap.values());
if
(insertList.size()
==
0)
return;
utilsService.getMongoPersist().getMongoCollection(MongoPersist.RtSellerRegion_h).insert(insertList);
}
finally
{
concurrentResultMap.clear();
}
}
当Mongo中collection为空的时候,插入正常,可是当再次执行这个写入的动作后,mongo中有一个region_id字段出现大量丢失现象。
代码中的insertlist我在debug的时候,都在控制台打印出来了,在写入前数据是完整的,但是写入后就会出现丢失现象。,
我尝试改变数据类型改为Long,Double,String,添加
数据库索引
,甚至直接删除了数据库集合。

㈤ 如何用Java操作MongoDB

HelloWorld程序

学习任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序。

首先,要通过Java操作Mongodb,必须先下载Mongodb的Java驱动程序,可以在这里下载。

新建立一个Java工程,将下载的驱动程序放在库文件路径下,程序代码如下:

packagecom.mkyong.core;
importjava.net.UnknownHostException;
importcom.mongodb.BasicDBObject;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.DBCursor;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
/**
*Java+MongoDBHelloworldExample
*
*/
publicclassApp{
publicstaticvoidmain(String[]args){
try{
//实例化Mongo对象,连接27017端口
Mongomongo=newMongo("localhost",27017);
//连接名为yourdb的数据库,假如数据库不存在的话,mongodb会自动建立
DBdb=mongo.getDB("yourdb");
//GetcollectionfromMongoDB,databasenamed"yourDB"
//从Mongodb中获得名为yourColleection的数据集合,如果该数据集合不存在,Mongodb会为其新建立
DBCollectioncollection=db.getCollection("yourCollection");
//使用BasicDBObject对象创建一个mongodb的document,并给予赋值。
BasicDBObjectdocument=newBasicDBObject();
document.put("id",1001);
document.put("msg","helloworldmongoDBinJava");
//将新建立的document保存到collection中去
collection.insert(document);
//创建要查询的document
BasicDBObjectsearchQuery=newBasicDBObject();
searchQuery.put("id",1001);
//使用collection的find方法查找document
DBCursorcursor=collection.find(searchQuery);
//循环输出结果
while(cursor.hasNext()){
System.out.println(cursor.next());
}
System.out.println("Done");
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(MongoExceptione){
e.printStackTrace();
}
}
}

最后,输出的结果为:

{"_id":{"$oid":"4dbe5596dceace565d229dc3"},
"id":1001,"msg":"helloworldmongoDBinJava"}


Done


在上面的例子中,演示了使用Java对Mongodb操作的重要方法和步骤,首先通过创建Mongodb对象,传入构造函数的参数是Mongodb的数据库所在地址和端口,然后使用

getDB方法获得要连接的数据库名,使用getCollection获得数据集合的名,然后通过新建立BasicDBObject对象去建立document,最后通过collection的insert方法,将建立的document保存到数据库中去。而collection的find方法,则是用来在数据库中查找document。

从Mongodb中获得collection数据集

在Mongodb中,可以通过如下方法获得数据库中的collection:

DBCollectioncollection=db.getCollection("yourCollection");

如果你不知道collection的名称,可以使用db.getCollectionNames()获得集合,然后再遍历,如下:

DBdb=mongo.getDB("yourdb");
Setcollections=db.getCollectionNames();
for(StringcollectionName:collections){
System.out.println(collectionName);
}

完成的一个例子如下:

packagecom.mkyong.core;
importjava.net.UnknownHostException;
importjava.util.Set;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
/**
*Java:GetcollectionfromMongoDB
*
*/
publicclassGetCollectionApp{
publicstaticvoidmain(String[]args){
try{
Mongomongo=newMongo("localhost",27017);
DBdb=mongo.getDB("yourdb");
Set<String>collections=db.getCollectionNames();
for(StringcollectionName:collections){
System.out.println(collectionName);
}
DBCollectioncollection=db.getCollection("yourCollection");
System.out.println(collection.toString());
System.out.println("Done");
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(MongoExceptione){
e.printStackTrace();
}
}
}

Mongodb中如何插入数据

下面,讲解下如何使用4种方式,将JSON数据插入到Mongodb中去。首先我们准备JSON

格式的数据,如下:

{
"database":"mkyongDB",
"table":"hosting",
"detail":
{
records:99,
index:"vps_index1",
active:"true"
}
}
}


我们希望用不同的方式,通过JAVA代码向Mongodb插入以上格式的JSON数据

第一种方法,是使用BasicDBObject,方法如下代码所示:

BasicDBObjectdocument=newBasicDBObject();
document.put("database","mkyongDB");
document.put("table","hosting");
BasicDBObjectdocumentDetail=newBasicDBObject();
documentDetail.put("records","99");
documentDetail.put("index","vps_index1");
documentDetail.put("active","true");
document.put("detail",documentDetail);
collection.insert(document);

第二种方法是使用BasicDBObjectBuilder对象,如下代码所示:

=BasicDBObjectBuilder.start()
.add("database","mkyongDB")
.add("table","hosting");
Detail=BasicDBObjectBuilder.start()
.add("records","99")
.add("index","vps_index1")
.add("active","true");
documentBuilder.add("detail",documentBuilderDetail.get());
collection.insert(documentBuilder.get());

第三种方法是使用Map对象,代码如下:

MapdocumentMap=newHashMap();
documentMap.put("database","mkyongDB");
documentMap.put("table","hosting");
MapdocumentMapDetail=newHashMap();
documentMapDetail.put("records","99");
documentMapDetail.put("index","vps_index1");
documentMapDetail.put("active","true");
documentMap.put("detail",documentMapDetail);
collection.insert(newBasicDBObject(documentMap));

第四种方法,也就是最简单的,即直接插入JSON格式数据

String json="{'database' : 'mkyongDB','table' : 'hosting',"+
"'detail' : {'records' : 99, 'index' : 'vps_index1', 'active' : 'true'}}}";
DBObject dbObject=(DBObject)JSON.parse(json);
collection.insert(dbObject);

这里使用了JSON的parse方法,将解析后的JSON字符串转变为DBObject对象后再直接插入到collection中去。


完整的代码如下所示:

packagecom.mkyong.core;
importjava.net.UnknownHostException;
importjava.util.HashMap;
importjava.util.Map;
importcom.mongodb.BasicDBObject;
importcom.mongodb.BasicDBObjectBuilder;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.DBCursor;
importcom.mongodb.DBObject;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
importcom.mongodb.util.JSON;
/**
* Java MongoDB : Insert a Document
*
*/
publicclass InsertDocumentApp {
publicstaticvoid main(String[] args){
try{
Mongo mongo=newMongo("localhost",27017);
DB db=mongo.getDB("yourdb");
//get a single collection
DBCollection collection=db.getCollection("mmyColl");
//BasicDBObject example
System.out.println("BasicDBObject example...");
BasicDBObject document=newBasicDBObject();
document.put("database","mkyongDB");
document.put("table","hosting");
BasicDBObject documentDetail=newBasicDBObject();
documentDetail.put("records","99");
documentDetail.put("index","vps_index1");
documentDetail.put("active","true");
document.put("detail", documentDetail);
collection.insert(document);
DBCursor cursorDoc=collection.find();
while(cursorDoc.hasNext()){
System.out.println(cursorDoc.next());
}
collection.remove(newBasicDBObject());
//BasicDBObjectBuilder example
System.out.println("BasicDBObjectBuilder example...");
BasicDBObjectBuilder documentBuilder=BasicDBObjectBuilder.start()
.add("database","mkyongDB")
.add("table","hosting");
BasicDBObjectBuilder documentBuilderDetail=BasicDBObjectBuilder.start()
.add("records","99")
.add("index","vps_index1")
.add("active","true");
documentBuilder.add("detail", documentBuilderDetail.get());
collection.insert(documentBuilder.get());
DBCursor cursorDocBuilder=collection.find();
while(cursorDocBuilder.hasNext()){
System.out.println(cursorDocBuilder.next());
}
collection.remove(newBasicDBObject());
//Map example
System.out.println("Map example...");
Map documentMap=newHashMap();
documentMap.put("database","mkyongDB");
documentMap.put("table","hosting");
Map documentMapDetail=newHashMap();
documentMapDetail.put("records","99");
documentMapDetail.put("index","vps_index1");
documentMapDetail.put("active","true");
documentMap.put("detail", documentMapDetail);
collection.insert(newBasicDBObject(documentMap));
DBCursor cursorDocMap=collection.find();
while(cursorDocMap.hasNext()){
System.out.println(cursorDocMap.next());
}
collection.remove(newBasicDBObject());
//JSON parse example
System.out.println("JSON parse example...");
String json="{'database' : 'mkyongDB','table' : 'hosting',"+
"'detail' : {'records' : 99, 'index' : 'vps_index1', 'active' : 'true'}}}";
DBObject dbObject=(DBObject)JSON.parse(json);
collection.insert(dbObject);
DBCursor cursorDocJSON=collection.find();
while(cursorDocJSON.hasNext()){
System.out.println(cursorDocJSON.next());
}
collection.remove(newBasicDBObject());
}catch(UnknownHostException e){
e.printStackTrace();
}catch(MongoException e){
e.printStackTrace();
}
}
}


热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:433
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:744
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:147
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:240
java驼峰 发布:2025-02-02 09:13:26 浏览:652
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:538
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726