7.MongoDB java CRUD,7.mongodbjavacrud
|
注意:要加入mongodb相应的jar包
package cn.toto.mongodb; import java.net.UnknownHostException; import org.bson.types.ObjectId; import org.junit.Test; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.Mongo;
/** *使用java代码调用mongodb * *@author to-to */ publicclass MongoDBDao { @Test publicvoid add()throws UnknownHostException { //建立起连接 Mongo mongo =new Mongo("192.168.1.100", 27017); //根据连接获取到数据库 DB db = mongo.getDB("test"); //获取数据库下面的某个集合,针对结合进行操作... DBCollection dbCollection = db.getCollection("person"); // BasicDBObject dbObject =new BasicDBObject();
dbObject.put("title","奔放洋气有深度,简约时尚国际范"); dbObject.put("content","高大上"); // {key:value,keyvalue} dbCollection.insert(dbObject); mongo.close(); }
@Test publicvoid del()throws UnknownHostException { Mongo mongo =new Mongo("192.168.1.100", 27017); //根据连接获取到数据库 DB db = mongo.getDB("test"); //获取数据库下面的某个集合,针对结合进行操作... DBCollection dbCollection = db.getCollection("person"); // {} DBObject dbObject =new BasicDBObject();
dbCollection.remove(dbObject); }
/** *更新 * *@throws UnknownHostException */ @Test publicvoid update()throws UnknownHostException { Mongo mongo =new Mongo("192.168.1.100", 27017); //根据连接获取到数据库 DB db = mongo.getDB("test"); //获取数据库下面的某个集合,针对结合进行操作... DBCollection dbCollection = db.getCollection("person"); // {} //设置更新的条件 BasicDBObject query =new BasicDBObject("_id",new ObjectId( "53db556a5bcbcfc947854027"));
//设置更新的内容的对象... BasicDBObject object = (BasicDBObject) dbCollection.findOne(query); object.put("title","高端大气上档次");
dbCollection.update(query, object); }
@Test publicvoid find()throws UnknownHostException { Mongo mongo =new Mongo("192.168.1.100", 27017); //根据连接获取到数据库 DB db = mongo.getDB("test"); //获取数据库下面的某个集合,针对结合进行操作... DBCollection dbCollection = db.getCollection("person");
// BasicDBObject dbObject=new BasicDBObject();
// dbObject.put("content", "高大上"); DBCursor cursor = dbCollection.find();
while (cursor.hasNext()) { DBObject dbObject2 = cursor.next(); System.out.println(dbObject2.toString()); } // {$lt:{age:20}} // db.collection.find() // {} BasicDBObject basicDBObject =new BasicDBObject();
BasicDBObject basicDBObject2 =new BasicDBObject();
basicDBObject2.put("age", 20); basicDBObject.put("$lt", basicDBObject2); } } |
列出所有命令的指令代码,如:1 Create User ;2 Delete User....
多重IF ELSE或SWITCH条件结构判断用户输入的命令,再调用相关文件流(java.io)方法做处理 。
我只能说下我的思路:
1、提交数据,我简单分为两种:表单提交、AJAX付值提交。两种各有优缺点,表单提交方便简单,只要把FORM表单SUBMIT一下所有有name属性的input标签都会提交,但这个也成为了它的缺点,INPUT标签就会增多、乱而且只能放在FORM中,对多条记录操作时更显不便;AJAX提交最大的好处在于有回调函数可以对操作成功与否进行处理。struts或servlet接收数据是差不多的,声明对应的变量,比如:FORM表单中有<input name="aa" type="text"/>那么你就在action类写一个有get()方法aa变量就可以得到表单返回的数据了,用request.getParameter("aa")也可以。
2、CUD操作都可以对多条记录同时进行,一般就是把这条记录的ID和它对应的内容经过处理后通过AJAX提交到后台,比如删除:只要记录的ID就可以删除了,就可以把要删除的记录ID以“,”分隔,后台接收以后拆分出来执行SQL语句。你所说到的循环SQL语句,也不一定,比如hibernate或自己手动写的SQL语句,删除时你就可以这样写:delete from 表 where id in (x,x,x,x……)此时只要一条SQL就足够了,修改时除非是为同一个字段同时修改,不然还是要循环才能做到的,这就是我的理解了,希望能帮到你。