NoSql之MongoDB实现数据库数据操作
2013-03-12 23:24
381 查看
1、创建唯一数据库实例DB
2、创建CRUD操作工具类
3、mongo.properties内容
package com.boonya.mongo; import java.net.UnknownHostException; import java.util.Arrays; import com.mongodb.DB; import com.mongodb.MongoClient; import com.mongodb.ServerAddress; public class DBConnection { private DBConnection(){} private static String userName="boonya"; private static char [] password="boonya".toCharArray(); private static DB db=null; /** * mongoClient = new MongoClient(); * // or * mongoClient = new MongoClient( "localhost" ); * // or * mongoClient = new MongoClient( "localhost" , 27017 ); * // or, to connect to a replica set, supply a seed list of members * @return */ public synchronized static DB getInstance(){ if(db==null){ MongoClient mongoClient=null; try { mongoClient = new MongoClient(Arrays.asList(new ServerAddress("localhost", 27017), new ServerAddress("localhost", 27018), new ServerAddress("localhost", 27019))); } catch (UnknownHostException e) { e.printStackTrace(); } db = mongoClient.getDB("mydb"); boolean auth = db.authenticate(userName,password); if(!auth){ //the authentication is invalid return null; } } return db; } }
2、创建CRUD操作工具类
package com.boonya.mongo.optimize; import java.net.UnknownHostException; import com.boonya.mongo.utils.ConstantUtils; 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.MongoOptions; public class MongDbCRUD { private static Mongo mongo = null; private static DB db; private static DBCollection table; private static MongDbCRUD instace; public static synchronized MongDbCRUD getInstance(){ if(instace==null||mongo==null||db==null||table==null){ instace = new MongDbCRUD(); } return instace; } public MongDbCRUD(){ String host = ConstantUtils.getValue("mongo.host").toString(); int port = Integer.parseInt(ConstantUtils.getValue("mongo.port").toString()); String datablease = ConstantUtils.getValue("mongo.datablease").toString(); String tablelename = ConstantUtils.getValue("mongo.table.bound").toString(); try { mongo = new Mongo(host, port); // 连接池 MongoOptions opt = mongo.getMongoOptions(); opt.connectionsPerHost = 10 ; //poolsize opt.threadsAllowedToBlockForConnectionMultiplier = 10 ; //获取temp DB;如果默认没有创建,mongodb会自动创建 db = mongo.getDB(datablease); //获取users DBCollection;如果默认没有创建,mongodb会自动创建 table = db.getCollection(tablelename); //DO SOMETHING } catch (UnknownHostException e) { e.printStackTrace(); } catch (MongoException e) { e.printStackTrace(); } } public MongDbCRUD(String host, int port, String datablease, String tablelename){ try { mongo = new Mongo(host, port); // 连接池 MongoOptions opt = mongo.getMongoOptions(); opt.connectionsPerHost = 10 ; //poolsize opt.threadsAllowedToBlockForConnectionMultiplier = 10 ; //获取temp DB;如果默认没有创建,mongodb会自动创建 db = mongo.getDB(datablease); //获取users DBCollection;如果默认没有创建,mongodb会自动创建 table = db.getCollection(tablelename); //DO SOMETHING } catch (UnknownHostException e) { e.printStackTrace(); } catch (MongoException e) { e.printStackTrace(); } } public static void free(){ if(mongo!=null){ mongo.close(); } mongo = null; db = null; table = null; System.gc(); } public static DBCollection getDBCollection(){ return table; } public void add(DBObject row){ table.save(row); } public void query(){ DBCursor cur = table.find(); while (cur.hasNext()) { DBObject dbobject = cur.next(); System.out.println(dbobject.get("key"));//get value } } }
3、mongo.properties内容
#mongodb setting mongo.host=192.168.20.38 mongo.port=27017 mongo.database=map mongo.table.bound=bound mongo.username=username mongo.pwd=pwd
相关文章推荐
- 【NOSQL】非关系型数据库MongoDB ( 通过samus驱动实现基本数据操作 )
- 【NOSQL】非关系型数据库MongoDB ( 在MVC模式下通过Jqgrid表格操作MongoDB数据 ) .
- JAVA对数据库进行操作,实现数据库中数据的插入,查询,更改,删除操作
- JAVA对数据库进行操作,实现数据库中数据的插入,查询,更改,删除操作
- 5.非关系数据库(Nosql)它mongodb:创建一个集合,导出和导入备份, 数据恢复,进出口
- 2.非关系型数据库(Nosql)之mongodb:mongodb显示所有数据库,使用数据库,集合创建(显示和隐式创建),集合查询,初步数据的增删改查,分页
- Spring+Mybatis 实现aop数据库读写分离与多数据库源配置操作
- [数据库] Navicat for MySQL事件Event实现数据每日定期操作
- NoSQL数据库之用Java语言操作MongoDB(二)
- python操作mongodb根据_id查询数据的实现方法
- jquery+ajax+C#实现无刷新操作数据库数据的简单实例
- Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作
- nodejs连接mongodb示例,实现对数据的增删改查操作(跳过不必要的坑) Windows版
- Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作
- Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作-------sql方式
- 通过代理类实现java连接数据库(使用dao层操作数据)实例分享
- 使用PL/SQL Developer工具来实现创建表空间、创建数据库、备份数据库、数据导出等操作
- Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作
- MongoDB_02之使用shell命令实现对数据库的操作
- 如何优化操作大数据量数据库(几十万以上数据)(三。实现小数据量和海量数据的分页显示存储过程)