当前位置: 首页 > news >正文

服装企业 北京 网站建设济南互联网网站建设价格

服装企业 北京 网站建设,济南互联网网站建设价格,做网站名词,微商的自己做网站叫什么名字上一篇文章: http://blog.csdn.net/gaowenhui2008/article/details/40045719 介绍到了在MongoDB的控制台完成MongoDB的数据操作#xff0c;通过前一篇文章我们对MongoDB有了全面的认识和理解。现在我们就用Java来操作MongoDB的数据。 开发环境#xff1a; System#xff1a…上一篇文章: http://blog.csdn.net/gaowenhui2008/article/details/40045719 介绍到了在MongoDB的控制台完成MongoDB的数据操作通过前一篇文章我们对MongoDB有了全面的认识和理解。现在我们就用Java来操作MongoDB的数据。 开发环境 SystemWindows IDEeclipse、MyEclipse 8 DatabasemongoDB 开发依赖库 JavaEE5、mongo-2.5.3.jar、junit-4.8.2.jar 一、准备工作 1、 首先下载mongoDB对Java支持的驱动包 驱动包下载地址https://github.com/mongodb/mongo-java-driver/downloads mongoDB对Java的相关支持、技术MongoDB Java Drivers — MongoDB Drivers 驱动源码下载https://download.github.com/mongodb-mongo-java-driver-r2.6.1-7-g6037357.zip 在线查看源码GitHub - mongodb/mongo-java-driver: The official Java driver for MongoDB 2、 下面建立一个JavaProject工程导入下载下来的驱动包。即可在Java中使用mongoDB目录如下 二、Java操作MongoDB示例 在本示例之前你需要启动mongod.exe的服务启动后下面的程序才能顺利执行 1、 建立SimpleTest.java完成简单的mongoDB数据库操作 Mongo mongo new Mongo(); 这样就创建了一个MongoDB的数据库连接对象它默认连接到当前机器的localhost地址端口是27017。 DB db mongo.getDB(“test”); 这样就获得了一个test的数据库如果mongoDB中没有创建这个数据库也是可以正常运行的。如果你读过上一篇文章就知道mongoDB可以在没有创建这个数据库的情况下完成数据的添加操作。当添加的时候没有这个库mongoDB会自动创建当前数据库。 得到了db下一步我们要获取一个“聚集集合DBCollection”通过db对象的getCollection方法来完成。 DBCollection users db.getCollection(users); 这样就获得了一个DBCollection它相当于我们数据库的“表”。 查询所有数据 DBCursor cur users.find(); while (cur.hasNext()) { System.out.println(cur.next()); } 完整源码 package com.hoo.test; import java.net.UnknownHostException; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.Mongo; import com.mongodb.MongoException; import com.mongodb.util.JSON; /** * bfunction:/bMongoDB 简单示例 * author gwh * createDate 2014-5-24 下午02:42:29 * file SimpleTest.java * package com.hoo.test * project MongoDB * email gwh_2014163.com * version 1.0 */ public class SimpleTest { public static void main(String[] args) throws UnknownHostException, MongoException { Mongo mg new Mongo(); //查询所有的Database for (String name : mg.getDatabaseNames()) { System.out.println(dbName: name); } DB db mg.getDB(test); //查询所有的聚集集合 for (String name : db.getCollectionNames()) { System.out.println(collectionName: name); } DBCollection users db.getCollection(users); //查询所有的数据 DBCursor cur users.find(); while (cur.hasNext()) { System.out.println(cur.next()); } System.out.println(cur.count()); System.out.println(cur.getCursorId()); System.out.println(JSON.serialize(cur)); } } 2、 完成CRUD操作首先建立一个MongoDB4CRUDTest.java基本测试代码如下 package com.hoo.test; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; import org.bson.types.ObjectId; import org.junit.After; import org.junit.Before; import org.junit.Test; import com.mongodb.BasicDBObject; import com.mongodb.Bytes; 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.QueryOperators; import com.mongodb.util.JSON; /** * bfunction:/b实现MongoDB的CRUD操作 * author gwh * createDate 2014-6-2 下午03:21:23 * file MongoDB4CRUDTest.java * package com.hoo.test * project MongoDB * email gwh_2014163.com * version 1.0 */ public class MongoDB4CRUDTest { private Mongo mg null; private DB db; private DBCollection users; Before public void init() { try { mg new Mongo(); //mg new Mongo(localhost, 27017); } catch (UnknownHostException e) { e.printStackTrace(); } catch (MongoException e) { e.printStackTrace(); } //获取temp DB如果默认没有创建mongodb会自动创建 db mg.getDB(temp); //获取users DBCollection如果默认没有创建mongodb会自动创建 users db.getCollection(users); } After public void destory() { if (mg ! null) mg.close(); mg null; db null; users null; System.gc(); } public void print(Object o) { System.out.println(o); } } 3、 添加操作 在添加操作之前我们需要写个查询方法来查询所有的数据。代码如下 /** * bfunction:/b 查询所有数据 * author gwh * createDate 2014-6-2 下午03:22:40 */ private void queryAll() { print(查询users的所有数据); //db游标 DBCursor cur users.find(); while (cur.hasNext()) { print(cur.next()); } } Test public void add() { //先查询所有数据 queryAll(); print(count: users.count()); DBObject user new BasicDBObject(); user.put(name, hoojo); user.put(age, 24); //users.save(user)保存getN()获取影响行数 //print(users.save(user).getN()); //扩展字段随意添加字段不影响现有数据 user.put(sex, 男); print(users.save(user).getN()); //添加多条数据传递Array对象 print(users.insert(user, new BasicDBObject(name, tom)).getN()); //添加List集合 ListDBObject list new ArrayListDBObject(); list.add(user); DBObject user2 new BasicDBObject(name, lucy); user.put(age, 22); list.add(user2); //添加List集合 print(users.insert(list).getN()); //查询下数据看看是否添加成功 print(count: users.count()); queryAll(); } 4、 删除数据 Test public void remove() { queryAll(); print(删除id 4de73f7acd812d61b4626a77 users.remove(new BasicDBObject(_id, new ObjectId(4de73f7acd812d61b4626a77))).getN()); print(remove age 24: users.remove(new BasicDBObject(age, new BasicDBObject($gte, 24))).getN()); } 5、 修改数据 Test public void modify() { print(修改 users.update(new BasicDBObject(_id, new ObjectId(4dde25d06be7c53ffbd70906)), new BasicDBObject(age, 99)).getN()); print(修改 users.update( new BasicDBObject(_id, new ObjectId(4dde2b06feb038463ff09042)), new BasicDBObject(age, 121), true,//如果数据库不存在是否添加 false//多条修改 ).getN()); print(修改 users.update( new BasicDBObject(name, haha), new BasicDBObject(name, dingding), true,//如果数据库不存在是否添加 true//false只修改第一天true如果有多条就不修改 ).getN()); //当数据库不存在就不修改、不添加数据当多条数据就不修改 //print(修改多条 coll.updateMulti(new BasicDBObject(_id, new ObjectId(4dde23616be7c19df07db42c)), new BasicDBObject(name, 199))); } 6、 查询数据 Test public void query() { //查询所有 //queryAll(); //查询id 4de73f7acd812d61b4626a77 print(find id 4de73f7acd812d61b4626a77: users.find(new BasicDBObject(_id, new ObjectId(4de73f7acd812d61b4626a77))).toArray()); //查询age 24 print(find age 24: users.find(new BasicDBObject(age, 24)).toArray()); //查询age 24 print(find age 24: users.find(new BasicDBObject(age, new BasicDBObject($gte, 24))).toArray()); print(find age 24: users.find(new BasicDBObject(age, new BasicDBObject($lte, 24))).toArray()); print(查询age!25 users.find(new BasicDBObject(age, new BasicDBObject($ne, 25))).toArray()); print(查询age in 25/26/27 users.find(new BasicDBObject(age, new BasicDBObject(QueryOperators.IN, new int[] { 25, 26, 27 }))).toArray()); print(查询age not in 25/26/27 users.find(new BasicDBObject(age, new BasicDBObject(QueryOperators.NIN, new int[] { 25, 26, 27 }))).toArray()); print(查询age exists 排序 users.find(new BasicDBObject(age, new BasicDBObject(QueryOperators.EXISTS, true))).toArray()); print(只查询age属性 users.find(null, new BasicDBObject(age, true)).toArray()); print(只查属性 users.find(null, new BasicDBObject(age, true), 0, 2).toArray()); print(只查属性 users.find(null, new BasicDBObject(age, true), 0, 2, Bytes.QUERYOPTION_NOTIMEOUT).toArray()); //只查询一条数据多条去第一条 print(findOne: users.findOne()); print(findOne: users.findOne(new BasicDBObject(age, 26))); print(findOne: users.findOne(new BasicDBObject(age, 26), new BasicDBObject(name, true))); //查询修改、删除 print(findAndRemove 查询age25的数据并且删除: users.findAndRemove(new BasicDBObject(age, 25))); //查询age26的数据并且修改name的值为Abc print(findAndModify: users.findAndModify(new BasicDBObject(age, 26), new BasicDBObject(name, Abc))); print(findAndModify: users.findAndModify( new BasicDBObject(age, 28), //查询age28的数据 new BasicDBObject(name, true), //查询name属性 new BasicDBObject(age, true), //按照age排序 false, //是否删除true表示删除 new BasicDBObject(name, Abc), //修改的值将name修改成Abc true, true)); queryAll(); } mongoDB不支持联合查询、子查询这需要我们自己在程序中完成。将查询的结果集在Java查询中进行需要的过滤即可。 7、 其他操作 public void testOthers() { DBObject user new BasicDBObject(); user.put(name, hoojo); user.put(age, 24); //JSON 对象转换 print(serialize: JSON.serialize(user)); //反序列化 print(parse: JSON.parse({ /name/ : /hoojo/ , /age/ : 24})); print(判断temp Collection是否存在: db.collectionExists(temp)); //如果不存在就创建 if (!db.collectionExists(temp)) { DBObject options new BasicDBObject(); 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的方法。其他的东西还需要你自己多多研究。上面操作MongoDB的方法都是一些常用的方法比较简单。
http://www.tj-hxxt.cn/news/232773.html

相关文章:

  • 平台营销方式有哪些湖南网站营销优化开发
  • 济南微网站建设广州网站建设公司招聘
  • 秦皇岛建设厅网站江西省建设厅业绩网站
  • 做环卫设备都有哪些网站做网站怎么对接国际收款商户
  • 什么渠道做网站建设襄阳哪里做网站
  • 网站 用php asp源码 比较好弄一个小程序要多少钱
  • 180天做180个网站网站建设与推广完美结合
  • 努力把网站建设成为怎样做软件app软件
  • 庄河城乡建设管理局网站如何建设cpa影视网站
  • wordpress影视站网络投放广告有哪些平台
  • 如何制作自己的网站 可放广告离线 wordpress
  • o2o手机网站建设难心理学网站开发
  • 外贸一站式推广服务专门做照片的网站
  • 快速建网站的软件宝安网站建设 名匠
  • 网站域名在哪里注册新手学建设网站书籍
  • 网站开发的关键计算机资源计划seo优化网
  • 一个企业网站如何能放到互联网上 vps企业网站推广成功案例
  • 曲靖 曲靖网站建设软件(app)开发做网站在哪个程序做
  • 乐山网站建设如何做网站关键词霸屏
  • 网络科技有限公司网站90后小姑娘做网站
  • 免费网站优化Sensei wordpress插件
  • 做网站都需要哪些软件济南会做网站的公司
  • 企业网站管理系统下载萝岗电子商务网站建设
  • 把网站做到wordpress里面去excel做的最好的网站
  • 网站建设前期费用管理类网站开发价格
  • 小学网站怎么做数字化管理咨询
  • 银川网站建设网站怎么做图片轮播
  • 网站服务器一年的费用logo设计的最好的公司
  • 网站遭到攻击 运维怎么做济南建设网站哪里好
  • 焦作 做 网站西安有哪些网站建设公司