Mongodb-使用javaDriver 实现增删改查
2015-08-10 19:23
676 查看
<pre name="code" class="java"><pre name="code" class="html">http://blog.csdn.net/lablenet
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的路还有很长!7.demo 下载
http://download.csdn.net/detail/lablenet/8987817相关文章推荐
- C#如何实现对sql server数据库的增删改查
- SQLite 入门教程四 增删改查 有讲究
- javascript实现信息增删改查的方法
- BootStrap实现带有增删改查功能的表格(DEMO详解)
- hibernate中的增删改查实现代码
- Android 中动态加载.jar的实现步骤
- java使用命令行打包JAR
- 用代码更新你的jar包
- Android--SQLite(增,删,改,查)操作实例代码
- 用Java连接sqlserver数据库时候几个jar包的区别分析
- node.js操作mysql(增删改查)
- php+mysql实现简单的增删改查功能
- sqlserver 增删改查一些不常用的小技巧
- 基于将Android工程做成jar包和资源文件的解决方法
- jar包双击执行程序的方法
- MongoDB中MapReduce编程模型使用实例
- PHP+MYSQL实现用户的增删改查
- 从Java的jar文件中读取数据的方法
- Jar打包用法详解
- 基于Java的打包jar、war、ear包的作用与区别详解