MongoDB初探系列之四:MongoDB与Java共舞
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MongoDB初探系列之四:MongoDB与Java共舞,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4053字,纯文字阅读大概需要6分钟。
内容图文
![MongoDB初探系列之四:MongoDB与Java共舞](/upload/InfoBanner/zyjiaocheng/485/afd6f0fdb01b4049abaaee22c9345d8d.jpg)
1、使用的mongodb的jdbc驱动版本号为:mongo-java-driver-3.0.0.jar
2、本节仅仅是简介JDBC操作,临时不考虑效率问题。
3、封装的工具类代码例如以下:
public class MongoDBProxy { private static MongoDBProxy proxy=null;//单实例 private static MongoDatabase db=null;//数据库连接对象 private static String [] paramArray=new String[5];//数据库连接參数 private MongoDBProxy(){ } static{ paramArray[0]="username"; paramArray[1]="password"; paramArray[2]="host"; paramArray[3]="port"; paramArray[4]="databaseName"; } /** * 得到MongoDBProxy * 採用系统默认配置 */ public static MongoDBProxy getMongoDBProxy(){ if(proxy==null){ proxy=new MongoDBProxy(); String sURI = String.format("mongodb://%s:%s@%s:%d/%s",paramArray[0],paramArray[1],paramArray[2],Integer.parseInt(paramArray[3]),paramArray[4]); MongoClientURI uri = new MongoClientURI(sURI); MongoClient mongoClient = new MongoClient(uri); db= mongoClient.getDatabase(paramArray[4]); } return proxy; } /** * 批量查询数据 * @param table 集合名称 * @param page 分页參数 * @param filter 过滤条件 * @param sort 排序条件 */ public Page findDocList(String table,Page page,Bson filter,Bson sort){ MongoCollection<Document> coll=db.getCollection(table); long count=coll.count(filter);//依据过滤条件获取数据总量 Page p=PageUtil.createPage(page,Integer.parseInt(String.valueOf(count))); p.setFromUrl((page.getFromUrl()==null)?"":page.getFromUrl()); p.setParamString((page.getParamString()==null)?"":page.getParamString()); FindIterable<Document> resultIterable=coll.find(); //运行条件过滤 resultIterable=resultIterable.sort(sort).filter(filter).skip(p.getBeginIndex()).batchSize(p.getEveryPage()); MongoCursor<Document> cousor=resultIterable.iterator(); List<Document> dataList=new ArrayList<Document>(); while(cousor.hasNext()){ dataList.add(cousor.next()); } p.setDataList(dataList); return PageUtil.buildPageString(p); } /** * 获取单个文档 * @param table 集合名称 * @param filter 过滤条件 * @param sort 排序条件 */ public Document findOneDoc(String table,Bson filter,Bson sort){ MongoCollection<Document> coll=db.getCollection(table); FindIterable<Document> resultIterable=coll.find(); if(sort!=null){ resultIterable.sort(sort); } if(filter!=null){ resultIterable.filter(filter); } return resultIterable.first(); } /** * 加入文档 * @param table 集合名称 * @prama doc 文档内容 */ public void addDocument(String table,Document doc){ MongoCollection<Document> coll=getCollection(table); coll.insertOne(doc); } /** * 批量加入文档 * @param table 集合名称 * @prama docList 文档集合 */ public void addDocumentList(String table,List<Document> docList){ MongoCollection<Document> coll=getCollection(table); coll.insertMany(docList); } /** * 更新文档 * @param table 集合名称 * @param query 查询条件 * @param up 更新数据 */ public UpdateResult updateDocument(String table,Bson query,Bson up){ MongoCollection<Document> coll=getCollection(table); return coll.updateOne(query,up); } /** * 替换文档 * @param table 集合名称 * @param query 查询条件 * @param up 替换的文件对象 */ public UpdateResult replaceDocument(String table,Bson query,Document up){ MongoCollection<Document> coll=getCollection(table); return coll.replaceOne(query, up); } /** * 删除文档 * @param table 集合名称 * @param delete 删除条件 */ public DeleteResult deleteDocument(String table,Bson delete){ MongoCollection<Document> coll=getCollection(table); return coll.deleteOne(delete); } /** * 获取集合对象 * @param table 集合名称 */ private MongoCollection<Document> getCollection(String table){ return db.getCollection(table); } }
4、调用demo
MongoDBProxy proxy=MongoDBProxy.getMongoDBProxy(); System.out.println(proxy.findOneDoc("users",null,null).get("_id")); Document doc=new Document(); doc.put("user","李四"); proxy.addDocument("users", doc); Bson bson=new BasicDBObject("user","张三"); proxy.deleteDocument("users", bson);
兴许再深入学习,先用demo上上手哇。哈哈。
MongoDB初探系列之四:MongoDB与Java共舞
标签:index tracking 过滤 demo next set uri 哈哈 odata
本文系统来源:http://www.cnblogs.com/jhcelue/p/7081519.html
内容总结
以上是互联网集市为您收集整理的MongoDB初探系列之四:MongoDB与Java共舞全部内容,希望文章能够帮你解决MongoDB初探系列之四:MongoDB与Java共舞所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。