日期:2014-05-16  浏览次数:20601 次

MongoDB搭建示例

与关系型数据库相比,MongoDB的优点: 1:一致性(最终一致),更能保证用户的访问速度: 2:文档结构的存储方式,能够更便捷的获取数据 在一个关系型数据库中,一篇博客(包含文章内容、评论、评论的投票)会被打散在多张数据表中。在MongoDB中,能用一个文档来表示一篇博客, 评论与投票作为文档数组,放在正文主文档中。这样数据更易于管理,消除了传统关系型数据库中影响性能和水平扩展性的“JOIN”操作 定义 mongodb是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 安装: http://blog.csdn.net/liuzhoulong/article/details/6124566 Java代码示例:

?

原生写法

?

MongoTemplate template = new MongoTemplate(new Mongo("192.168.1.5", 27017), "Test1");

            BeanOne beanOne = new BeanOne();
            beanOne.setId("1001");
            beanOne.setDesc("this bean one");
            template.save(beanOne);

BeanOne result = template.findById("1001", BeanOne.class);
            System.out.println(result.getDesc());

BeanTwo beanTwo = new BeanTwo();
            beanTwo.setId("1001");
            beanTwo.setDesc("this bean two");
            template.save(beanTwo);

            BeanTwo result2 = template.findById("1001", BeanTwo.class);
            System.out.println(result2.getDesc());

template.updateFirst(new Query(Criteria.where("id").is("1001")), Update.update("desc", "this bean one update"), BeanOne.class);
            BeanOne resultupdate = template.findById("1001", BeanOne.class);
            System.out.println(resultupdate.getDesc());


template.remove(new Query(Criteria.where("id").is("1001")), BeanOne.class);
            BeanOne resultrevmove = template.findById("1001", BeanOne.class);
            System.out.println(resultrevmove.getDesc());

?

?spring整合

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:mongo="http://www.springframework.org/schema/data/mongo"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd">

   <!-- <mongo:mongo host="192.168.1.5" port="27017" /> -->
   <mongo:mongo id="mongo" replica-set="${mongo.servers}"/>

   <mongo:db-factory dbname="database" mongo-ref="mongo"/>

   <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
      <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
   </bean>

</beans>

?

?

mongoTemplate.updateFirst(new Query(Criteria.where("id").is(mid)), Update.update("ownJoinNum", 0), OwnJoinMongoBean.class);

?

?

?