首页 > 数据库 >Mongodb-使用javaDriver 实现增删改查

Mongodb-使用javaDriver 实现增删改查

时间:2023-02-23 10:33:02浏览次数:36  
标签:javaDriver BasicDBObject String Mongodb collName 改查 param return null


1.回顾


    上篇已经学习了使用 Mongodb_C#Driver 实现增删改查


2.重点


这篇将学习怎样使用和学习Mongodb_javaDriver 实现增删改查




3.准备篇


    在使用的时候请先准备开发环境(eclipse或myeclipse)和 Mongodb_Driver_Jar包  ,可以到官方网站下载,也可以​​点我下载​​!


    3.1新建工程和倒入jar包


            1).新建mongoDb_demo工程       


            2).新建lib文件夹 ,复制jar包       


            3).add build path


            4)将刚倒入的包打上勾




    3.2开启服务


       使用命令开启服务  安装目录\bin  --dbpath  数据目录 (不会的去查看我的安装篇文章!)  






4.实现mongodb_driver 工具类


    花了2个小时,头还昏昏的,刚坐了近20小时的车,从上海来到学校,实现类有点粗糙,将就着可以用,有一点没实现,就是每次操作完数据库时,无法关闭,每次关闭连接,都需要重新的打开链接!也就是说次工具类,没有实现 关闭数据库!请谅解!








package Util;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;

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.MongoException;
import com.mongodb.WriteConcern;

public class MongodbHelper {

//mongo连接
private Mongo mo=null;
//数据库
private DB db=null;
//集合


//数据库名
private String dbname=null;
private String host=null;
private int port=27017;

public MongodbHelper(){}

public MongodbHelper(String host,int port,String dbName){

this.dbname=dbName;
this.host=host;
this.port=port;
createInstence(host, port);

}

/**
* 创建对象
* @param host
* @param port
* @return
*/
public Mongo createInstence(String host,int port){

if(mo==null){
try {
mo=new Mongo(host, port);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MongoException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return mo;
}

/*
* 连接数据库
*/
private DB connDb(){

if(mo==null){
System.out.println("连接失败");
return null;
}else{
if(db==null && dbname!=null){
db=mo.getDB(this.dbname);
}
}
return db;
}


/**
* 创建集合
* @param collName
* @return
*/
public boolean createColl(String collName){

boolean flag=false;
if(db==null){
connDb();
}
if(db.collectionExists(collName)){
System.out.println("集合已经存在!");
return flag;
}else{
try{
db.createCollection(collName, null);
flag=true;
}catch(Exception e){
System.out.println("集合创建失败:异常信息:"+e.getMessage());
return flag;
}finally{
closeMongo();
}

}
return flag;
}


/**
* 得到集合
* @param collName
* @return
*/

public DBCollection getColl(String collName){
if(mo==null){
createInstence(host, port);
}
if(db==null){
connDb();
}
DBCollection dbColl=db.getCollection(collName);
return dbColl;
}

/**
* 新增 单个
* @param collName
* @param obj
* @return
*/
public boolean addDbobject(String collName,BasicDBObject obj){

DBCollection coll=getColl(collName);
try{
coll.insert(obj,WriteConcern.NONE);
return true;
}catch (Exception e) {
return false;
}finally{
this.closeMongo();
}

}

/**
* 新增多个
* @param collName
* @param objlist
* @return
*/
public boolean addDbobject(String collName,List<DBObject> objlist){

DBCollection coll=getColl(collName);
try{
coll.insert(objlist);
return true;
}catch (Exception e) {
return false;
}finally{
this.closeMongo();
}

}

/**
* 查询多条
* @param collName
* @return
*/
public List<DBObject> getlist(String collName){

List<DBObject> list=new ArrayList<DBObject>();
try{
DBCollection coll=getColl(collName);
DBCursor cursor=coll.find();
while(cursor.hasNext()){
list.add(cursor.next());
}
return list;
}catch (Exception e) {
System.out.println("查询出错了!"+e.getMessage());
return null;
}finally{
this.closeMongo();
}
}

/**
* 查寻单个记录
* @param collName
* @param bobj
* @return
*/
public DBObject getdbobj(String collName,BasicDBObject bobj){
DBCollection coll=getColl(collName);
try{

DBObject ob=coll.findOne(bobj);

return ob;
}catch (Exception e) {
// TODO: handle exception
System.out.println("查询单条失败!"+e.getMessage());
return null;
}finally{
this.closeMongo();
}
}


/**
* 删除操作
* @param collName
* @param bobj
* @return
*/
public boolean rvdbobj(String collName,BasicDBObject bobj){

DBCollection coll=getColl(collName);
try{
coll.remove(bobj);
return true;
}catch (Exception e) {
// TODO: handle exception
System.out.println("删除失败!"+e.getMessage());
return false;
}finally{
this.closeMongo();
}
}

/**
* 修改信息
* @param collName
* @param query
* @param o
* @return
*/
public boolean upbobj(String collName,BasicDBObject query,BasicDBObject o){
DBCollection coll=getColl(collName);

try{
coll.update(query, o);
return true;
}catch (Exception e) {
System.out.println("更新修改操作失败!"+e.getMessage());
return false;
}finally{
this.closeMongo();
}

}



//关闭连接
public void closeMongo(){
// mo.close();
}


}




5.实现基本增删改查



    5.1 说明 


       这里实现的是最基本的增删改查,具体详细内容,还有自己去学习!


    5.2 初始化


<span style="font-size:18px;">    private final static  String HOST="127.0.0.1";
private final static int PORT=27017;
private final static String DBNAME="student";</span>


    实例化工具类

<span style="font-size:18px;">   MongodbHelper helper=new MongodbHelper(HOST,PORT,DBNAME);</span>

   

    声明你要创建或操作的集合


<span style="font-size:18px;">   String collName="MongoYuan";</span>




   5.3 创建集合


<span style="font-size:18px;">         boolean flag= helper.createColl(collName);
System.out.println(flag?"成功":"失败");</span>




   5.4 添加单条信息


<span style="font-size:18px;">         BasicDBObject bobj=new BasicDBObject("name", "hpu")
.append("age", "106")
.append("loaction", "河南焦作");
helper.addDbobject(collName, bobj);</span>




   5.5 添加多条信息


<span style="font-size:18px;">         List<DBObject> dbList=new ArrayList<DBObject>();
dbList.add(new BasicDBObject("name","yuan").append("age", "22").append("location", "河南温县"));
dbList.add(new BasicDBObject("name","ming").append("age", "10").append("location", "河南理工"));
dbList.add(new BasicDBObject("name","zhuo").append("age", "42").append("location", "河南焦作"));
helper.addDbobject(collName, dbList);</span>




    5.6 查询全部




<span style="font-size:18px;">           List<DBObject> list=helper.getlist(collName);
for (DBObject dbObject : list) {
System.out.println(dbObject);
}</span>




    5.7简单的条件查询


<span style="font-size:18px;">         BasicDBObject query= new  BasicDBObject("name","yuan");
DBObject dbo=helper.getdbobj(collName, query);
System.out.println(dbo);</span>




    5.8 修改操作


<span style="font-size:18px;">         BasicDBObject query= new  BasicDBObject("name","yuan");
BasicDBObject o=new BasicDBObject("name","yuan").append("age", "22").append("location", "河南理工大学");
helper.upbobj(collName, query, o);</span>

    5.9 删除操作


<span style="font-size:18px;">        BasicDBObject bobj=new BasicDBObject("name","yuan");
boolean flag=helper.rvdbobj(collName, bobj);
System.out.println(flag?"成功":"失败");</span>






6.总结 


   在这里仅仅实现最基本的增删改查,什么条件查询,多条件查询,全文检索,最终要的 索引操作,这里均没有实  现! mongodb的路还有很长!





标签:javaDriver,BasicDBObject,String,Mongodb,collName,改查,param,return,null
From: https://blog.51cto.com/u_15976424/6080620

相关文章

  • Mongodb-安装篇(2)
    1.回顾:上篇学习了,怎么安装msi安装包的方式,傻瓜式安装mongodb2.这篇将使用命令行安装Mongodb,当然是zip压缩包3.和上篇一样,在官网下载,对于的zip压缩包  3.1解压到......
  • mongodb集群更新configserver数据
    configserver日志异常    查看副本集运行日志,发现连接configserver时候显示连接configserver连接拒绝         登录configserver节点  ......
  • 【MySQL】005-表的CRUD(增删改查)操作
    目录1、查询数据库中所有的表名称:二、创建1、语法格式2、MySQL中的数据类型(常用的)整型:int浮点型:double(参数1,参数2)日期(仅年月日):date日期:datetime时间戳:timest......
  • Ubuntu22.04 安装Mongodb6.X
    Ubuntu22.04安装Mongodb6.X1、Mongodb简介1.1什么是MongoDB?Mongodb是一个跨平台的面向文档的NoSQL数据库。它使用带有可选模式的类似JSON的BSON来存储数据。应用程......
  • mybatis plus 中增删改查及Wrapper的使用
    本文为博主原创,未经允许不得转载:mybatisplus 通过封装 baseMapper 以及 ServiceImpl,实现对数据库的增删改查操作,baseMapper 是我们通常所说的dao层或mapper......
  • CentOS7 yum安装MongoDB
    1、配置MongoDB的yum源cd/etc/yum.repos.dvimmongodb-org-6.0.repo2、添加下载配置文件(这里使用阿里云的源),保存退出[mngodb-org]name=MongoDBRepositorybaseur......
  • MongoDB使用记录
    查询publicList<CheckDataEntity>GetList(){Int64startTime=Stopwatch.GetTimestamp();//获取计时器机制中当前时间的最小单位数可以理解为时钟周期......
  • 分支的增删改查 git 230220
    查看分支gitbranch新建分支星花符号代表当前选中的分支切换分支gitcheckout 分支名删除分支gitbranch--delete 分支名gitbranch-d 分支名......
  • MongoDB和Elasticsearch的各使用场景对比
    MongoDBvsElasticsearchMongoDBElasticSearch备注定位(文档型)数据库(文档型)搜索引擎一个管理数据,一个检索数据资源占用一般高mongo使用c++,es......
  • mongodb第七篇:锁
    初次注意到mongo的锁,是在查看listCollections的官方文档时。文档是这样写的ThelistCollectionscommandtakesIntentSharedlockonthedatabase.Inpreviousversio......