日期:2014-05-16 浏览次数:20468 次
经过一段时间停顿,终于提笔来重新整理mongodb基础系列博客了。
同时也很抱歉,由于各种原因,没有及时整理出,今天做了一个demo,来演示,mongodb数据库查询的数据在JSP显示问题。
做了一个简单的测试,不过基本上能满足前台展示的问题,若有问题,可以及时联系我,及时沟通。
在上篇博客<<mongodb基础系列——java操作mongodb实现CURD>>中,当时查看数据如下,无论是查看所有还有查看具体。
//查询所有 //其中类似access数据库中游标概念 DBCursor cursor=collection.find(); System.out.println("mongodb中的user表结果如下:"); while(cursor.hasNext()){ System.out.println(cursor.next()); }
同时网上很多篇博客,也都是如此查看。那若界面需要后台数据咋办?到底怎么传递过去啊?
想想咱们程序是如何传递过去的,查询操作,无非是传递List、Map、具体实体对象。
OK,既然想到如此,那在你对mongdb一无所知时,其API是最好的入口处。通过API,发现DBCursor类有个方法toArray,其返回值为List,OK,发现这个方法后,其问题已经解决了50%啦。
继续……
上述代码中数据结果,可以发现其实是JSON对。
{ "_id" : { "$oid" : "52564aa6b16b9c6f728c0cf8"} , "id" : 1 , "name" : "小明" , "address" : { "city" : "beijing" , "code" : "065000"}}那看看输出List结果如下:
List<DBObject> list=cursor.toArray(); System.out.println(list.toString()); return list;其实List其上的数组而已。
[{ "_id" : { "$oid" : "52564aa6b16b9c6f728c0cf8"} , "id" : 1 , "name" : "小明" , "address" : { "city" : "beijing" , "code" : "065000"}}]那我们测试这个list,JSP就显示输出name、复核地址中的city、code
提示:测试Demo使用Jquery的Ajax做测试。
步骤:
第一:后台Dao的查询方法。与上篇博客基本一样,只是方法返回值不同而已。
public static List selectAll() throws Exception{ //第一:实例化mongo对象,连接mongodb服务器 包含所有的数据库 //默认构造方法,默认是连接本机,端口号,默认是27017 //相当于Mongo mongo =new Mongo("localhost",27017) Mongo mongo =new Mongo(); //第二:连接具体的数据库 //其中参数是具体数据库的名称,若服务器中不存在,会自动创建 DB db=mongo.getDB("myMongo"); //第三:操作具体的表 //在mongodb中没有表的概念,而是指集合 //其中参数是数据库中表,若不存在,会自动创建 DBCollection collection=db.getCollection("user"); //查询操作 //查询所有 //其中类似access数据库中游标概念 DBCursor cursor=collection.find(); System.out.println("mo