如何使用java将arraylist中的bean添加到mongodb中?

时间:2015-02-03 05:55:58

标签: java mongodb arraylist javabeans

我的程序正在读取文件夹中的大量文件。所有阅读部分都正常工作,我将所有数据设置为一个bean并设置。我将所有这些对象存储到一个arraylist中,当它达到900的特定限制时,将其插入mongodb。我在这一步完全感到困惑。任何人都可以帮忙吗?

 ArrayList<Encapsulation> al=new ArrayList<Encapsulation>();
     Encapsulation bean=new Encapsulation();
//     bean.getId();
     bean.setId(enc.getId());
     System.out.println("id is" +bean.getId());
//     System.out.println("before inserting to db,id is"+enc.getId());
     bean.setProduct_name(enc.getProduct_name());
     bean.setProduct_url(enc.getProduct_url());
     bean.setProduct_image(enc.getProduct_image());
     bean.setProduct_price(enc.getProduct_price());
     bean.setCategory(enc.getCategory());
     //one file completely setted into a bean
     al.add(bean);
    if(al.size()>900)
    {
        System.out.println("list size>900and count is" +count++);
        obj.insertdb();
        al.clear();
    }

    public void insertdb()
    {
        for (Encapsulation s : al)
        {
            BasicDBObject document=new BasicDBObject();
            document.put("product_id", s.getId());
            System.out.println("productid is" +s.getId());
            document.put("product_name", s.getProduct_name());
            document.put("product_url", s.getProduct_url());
            document.put("product_img", s.getProduct_image());
            document.put("product_price", s.getProduct_price());
            document.put("country", "India");
            document.put("date",new SimpleDateFormat("MM-dd-yyyy").format(myDate));
            document.put("category", s.getCategory());
            coll.insert(document);
            System.out.println("inserted");
        }
    }

Insertdb方法让我感到困惑。我需要将bean插入mongodb。

1 个答案:

答案 0 :(得分:0)

您似乎希望避免在DBObject实例之间编码和解码Encapsulation实例的手动步骤。如果是这种情况,我建议使用一个流行的对象文档映射器(ODM)库,如Spring Data MongoDBMorphia