之前我记得写过简单的测试类,但是忘了,现在重新写一个
顺便用博客记录下,mongodb系列应该会有几篇记录
本篇具体代码:SampleMongoTestNo1.java
1、环境介绍
mongodb安装教程:点击查看
1 2 3 4 5 6 7 8
| DataBase:MongoDB V 3.2 Driver :3.4.1 maven: <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.4.1</version> </dependency>
|
2、初始化连接
1 2 3 4 5 6 7 8 9 10 11 12 13
| private Mongo mg = null; private DB db; private DBCollection dbCollection;
@Before public void initDB(){ //建立连接 mg = new MongoClient("127.0.0.1",27017); //获取要操作的数据库实例,没有会创建 db = mg.getDB("hisen"); //获取要操作的集合实例,没有会创建 dbCollection = db.getCollection("emp"); }
|
3、关闭连接
1 2 3 4 5 6 7 8 9
| @After public void destoryDB(){ if (mg == null) { mg.close(); mg=null; db=null; dbCollection=null; } }
|
4、CRUD操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
| /** * 插入数据 */ @Test public void testCreate(){ DBObject obj = null; for (int i = 1; i <= 10; i++) { obj = new BasicDBObject("_id",i).append("name","hisen"+i).append("age",i*5); dbCollection.save(obj); } }
/** * 查询所有 */ @Test public void testReadAll(){ DBCursor dbCursor = dbCollection.find(); while (dbCursor.hasNext()){ System.out.println(dbCursor.next()); } }
/** * 修改记录 */ @Test public void testUpdate(){ BasicDBObject condition = new BasicDBObject("_id",10); BasicDBObject res = new BasicDBObject("name", "hisen10_new"); //若没有此语句,直接调用下面的语句,返回结果{ "_id" : 10 , "name" : "hisen10_new"} BasicDBObject res2 = new BasicDBObject("$set", res); dbCollection.update(condition,res2); System.out.println(dbCollection.findOne(new BasicDBObject("_id",10))); }
/** * 删除记录 */ @Test public void testDelete(){ dbCollection.remove(new BasicDBObject("_id",10)); testReadAll(); }
/** * 根据主键查询 */ @Test public void testReadOneWithId(){ DBObject object = dbCollection.findOne(new BasicDBObject("_id",1)); System.out.println(object); }
/** * 模糊查询 - 使用正则 */ @Test public void testReadPuzzy(){ Pattern pattern = Pattern.compile("^hisen1"); BasicDBObject basicDBObject = new BasicDBObject("name",pattern); DBCursor dbCursor = dbCollection.find(basicDBObject); while (dbCursor.hasNext()){ System.out.println(dbCursor.next()); } }
/** * 清空集合 */ @Test public void testDrop(){ dbCollection.drop(); testReadAll(); }
|